Skip to content

Commit

Permalink
Scenario testing endpoints without full validation and compilation
Browse files Browse the repository at this point in the history
  • Loading branch information
mgoworko committed Jan 30, 2025
1 parent 737f406 commit bf07ed1
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ class TestingApiHttpService(
scenarioTestService = processingTypeToScenarioTestServices.forProcessingTypeUnsafe(
scenarioWithDetails.processingType
)
inputParameters = scenarioTestService.testParametersDefinition(
inputParameters = scenarioTestService.validateAndGetTestParametersDefinition(
request.scenarioGraph,
scenarioWithDetails.processVersionUnsafe,
scenarioWithDetails.isFragment
Expand All @@ -73,7 +73,6 @@ class TestingApiHttpService(
capabilities = scenarioTestService.getTestingCapabilities(
scenarioGraph,
scenarioWithDetails.processVersionUnsafe,
scenarioWithDetails.isFragment,
)
} yield capabilities
}
Expand All @@ -93,7 +92,6 @@ class TestingApiHttpService(
parametersDefinition = scenarioTestService.testUISourceParametersDefinition(
scenarioGraph,
scenarioWithDetails.processVersionUnsafe,
scenarioWithDetails.isFragment
)
} yield parametersDefinition
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@ import pl.touk.nussknacker.engine.api.definition.{DualParameterEditor, Parameter
import pl.touk.nussknacker.engine.api.editor.DualEditorMode
import pl.touk.nussknacker.engine.api.graph.ScenarioGraph
import pl.touk.nussknacker.engine.api.test.ScenarioTestData
import pl.touk.nussknacker.engine.api.typed.AssignabilityDeterminer
import pl.touk.nussknacker.engine.api.typed.typing.Typed
import pl.touk.nussknacker.engine.canonicalgraph.CanonicalProcess
import pl.touk.nussknacker.engine.definition.test.{TestInfoProvider, TestingCapabilities}
import pl.touk.nussknacker.engine.testmode.TestProcess.TestResults
import pl.touk.nussknacker.restmodel.definition.UISourceParameters
import pl.touk.nussknacker.ui.api.description.NodesApiEndpoints.Dtos.TestSourceParameters
import pl.touk.nussknacker.ui.api.TestDataSettings
import pl.touk.nussknacker.ui.api.description.NodesApiEndpoints.Dtos.TestSourceParameters
import pl.touk.nussknacker.ui.definition.DefinitionsService
import pl.touk.nussknacker.ui.process.deployment.ScenarioTestExecutorService
import pl.touk.nussknacker.ui.process.marshall.CanonicalProcessConverter
import pl.touk.nussknacker.ui.processreport.{NodeCount, ProcessCounter, RawCount}
import pl.touk.nussknacker.ui.security.api.LoggedUser
import pl.touk.nussknacker.ui.uiresolving.UIProcessResolver
Expand All @@ -35,15 +35,12 @@ class ScenarioTestService(
def getTestingCapabilities(
scenarioGraph: ScenarioGraph,
processVersion: ProcessVersion,
isFragment: Boolean,
)(
implicit user: LoggedUser
): TestingCapabilities = {
val canonical = toCanonicalProcess(scenarioGraph, processVersion, isFragment)
val canonical = CanonicalProcessConverter.fromScenarioGraph(scenarioGraph, processVersion.processName)
testInfoProvider.getTestingCapabilities(processVersion, canonical)
}

def testParametersDefinition(
def validateAndGetTestParametersDefinition(
scenarioGraph: ScenarioGraph,
processVersion: ProcessVersion,
isFragment: Boolean
Expand All @@ -56,12 +53,16 @@ class ScenarioTestService(
def testUISourceParametersDefinition(
scenarioGraph: ScenarioGraph,
processVersion: ProcessVersion,
isFragment: Boolean
)(implicit user: LoggedUser): List[UISourceParameters] =
testParametersDefinition(scenarioGraph, processVersion, isFragment)
): List[UISourceParameters] = {
val canonical = CanonicalProcessConverter.fromScenarioGraph(scenarioGraph, processVersion.processName)
testInfoProvider
.getTestParameters(processVersion, canonical)
.map { case (id, params) => UISourceParameters(id, params.map(DefinitionsService.createUIParameter)) }
.map { assignUserFriendlyEditor }
.map {
assignUserFriendlyEditor
}
.toList
}

def generateData(
scenarioGraph: ScenarioGraph,
Expand Down

0 comments on commit bf07ed1

Please sign in to comment.