Skip to content

Commit 8a7148b

Browse files
committed
Fix SDCOSMO-1956: Runner child doesn't inherit parent's parameters
1 parent 5457de6 commit 8a7148b

File tree

2 files changed

+38
-2
lines changed

2 files changed

+38
-2
lines changed

runner/src/integrationTest/kotlin/com/cosmotech/runner/service/RunnerServiceIntegrationTest.kt

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -692,6 +692,40 @@ class RunnerServiceIntegrationTest : CsmRedisTestBase() {
692692
runnerSavedParametersValues)
693693
}
694694

695+
@Test
696+
fun `test empty inherited parameters values`() {
697+
val parentRunnerWithEmptyParams = makeRunner(name = "parent")
698+
val parentRunnerSaved =
699+
runnerApiService.createRunner(
700+
organizationSaved.id!!, workspaceSaved.id!!, parentRunnerWithEmptyParams)
701+
702+
val parentRunnerUpdated =
703+
runnerApiService.updateRunner(
704+
organizationSaved.id!!,
705+
workspaceSaved.id!!,
706+
parentRunnerSaved.id!!,
707+
parentRunnerSaved.apply {
708+
parametersValues =
709+
mutableListOf(
710+
RunnerRunTemplateParameterValue(
711+
parameterId = "param1",
712+
value = "param1value",
713+
isInherited = false,
714+
varType = "String"))
715+
})
716+
717+
val childRunnerWithEmptyParams = makeRunner(name = "child", parentId = parentRunnerUpdated.id!!)
718+
719+
val childRunnerWithEmptyParamsSaved =
720+
runnerApiService.createRunner(
721+
organizationSaved.id!!, workspaceSaved.id!!, childRunnerWithEmptyParams)
722+
723+
assertNotNull(childRunnerWithEmptyParamsSaved.parametersValues)
724+
assertEquals(1, childRunnerWithEmptyParamsSaved.parametersValues!!.size)
725+
assertEquals(
726+
mutableListOf(runTemplateParameterValue1), childRunnerWithEmptyParamsSaved.parametersValues)
727+
}
728+
695729
@Test
696730
fun `startRun send event and save lastRun info`() {
697731
val expectedRunId = "run-genid12345"
@@ -821,7 +855,7 @@ class RunnerServiceIntegrationTest : CsmRedisTestBase() {
821855
role: String = ROLE_USER,
822856
runTemplateId: String = "runTemplateId",
823857
validationStatus: RunnerValidationStatus = RunnerValidationStatus.Draft,
824-
parametersValues: MutableList<RunnerRunTemplateParameterValue> = mutableListOf()
858+
parametersValues: MutableList<RunnerRunTemplateParameterValue>? = null
825859
): Runner {
826860
return Runner(
827861
id = UUID.randomUUID().toString(),

runner/src/main/kotlin/com/cosmotech/runner/service/RunnerService.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,9 @@ class RunnerService(
233233
val inheritedParameterValues =
234234
constructParametersValuesFromParent(
235235
parentId, solution, runTemplate, parentRunner, this.runner)
236-
this.runner.parametersValues?.addAll(inheritedParameterValues)
236+
val parameterValueList = this.runner.parametersValues ?: mutableListOf()
237+
parameterValueList.addAll(inheritedParameterValues)
238+
this.runner.parametersValues = parameterValueList
237239
}
238240
}
239241

0 commit comments

Comments
 (0)