@@ -1377,12 +1377,95 @@ class ContainerFactoryTests {
13771377
13781378 @Test
13791379 fun `Build all containers for a Scenario DATASETID containers env vars` () {
1380- parametersDatasetEnvTest(" 1" , " param2" )
1380+ parametersDatasetEnvTest(getScenarioDatasetIds(), " 1" , " param2" )
13811381 }
13821382
13831383 @Test
13841384 fun `Build all containers for a Scenario DATASETID containers env vars 2` () {
1385- parametersDatasetEnvTest(" 2" , " param3" )
1385+ parametersDatasetEnvTest(getScenarioDatasetIds(), " 2" , " param3" )
1386+ }
1387+
1388+ @Test
1389+ fun `Build all containers for a Scenario Two DATASETID containers name list` () {
1390+ val scenario = getScenarioTwoDatasetIds()
1391+ val datasets = listOf (getDataset(), getDataset2(), getDataset3())
1392+ val connectors = listOf (getConnector(), getConnector2(), getConnector3())
1393+ val workspace = getWorkspace()
1394+ val solution = getSolutionDatasetIds()
1395+ val containers =
1396+ factory.buildContainersPipeline(
1397+ scenario,
1398+ datasets,
1399+ connectors,
1400+ workspace,
1401+ getOrganization(),
1402+ solution,
1403+ CSM_SIMULATION_ID )
1404+ val expected =
1405+ listOf (
1406+ " fetchDatasetContainer-1" ,
1407+ " fetchScenarioParametersContainer" ,
1408+ " fetchScenarioDatasetParametersContainer-1" ,
1409+ " fetchScenarioDatasetParametersContainer-2" ,
1410+ " fetchScenarioDatasetParametersContainer-3" ,
1411+ " fetchScenarioDatasetParametersContainer-4" ,
1412+ " applyParametersContainer" ,
1413+ " validateDataContainer" ,
1414+ " sendDataWarehouseContainer" ,
1415+ " preRunContainer" ,
1416+ " runContainer" ,
1417+ " postRunContainer" ,
1418+ )
1419+ assertEquals(expected, containers.map { container -> container.name })
1420+ }
1421+
1422+ @Test
1423+ fun `Build all containers for a Scenario Two DATASETID containers image list` () {
1424+ val scenario = getScenarioTwoDatasetIds()
1425+ val datasets = listOf (getDataset(), getDataset2(), getDataset3())
1426+ val connectors = listOf (getConnector(), getConnector2(), getConnector3())
1427+ val workspace = getWorkspace()
1428+ val solution = getSolutionDatasetIds()
1429+ val containers =
1430+ factory.buildContainersPipeline(
1431+ scenario,
1432+ datasets,
1433+ connectors,
1434+ workspace,
1435+ getOrganization(),
1436+ solution,
1437+ CSM_SIMULATION_ID )
1438+ val expected =
1439+ listOf (
1440+ " ghcr.io/cosmotech/test_connector:1.0.0" ,
1441+ " ghcr.io/cosmotech/scenariofetchparameters:1.0.0" ,
1442+ " ghcr.io/cosmotech/test_connector:1.0.0" ,
1443+ " ghcr.io/cosmotech/test_connector2:1.0.0" ,
1444+ " ghcr.io/cosmotech/test_connector2:1.0.0" ,
1445+ " ghcr.io/cosmotech/test_connector3:1.0.0" ,
1446+ " twinengines.azurecr.io/cosmotech/testsolution_simulator:1.0.0" ,
1447+ " twinengines.azurecr.io/cosmotech/testsolution_simulator:1.0.0" ,
1448+ " ghcr.io/cosmotech/senddatawarehouse:1.0.0" ,
1449+ " twinengines.azurecr.io/cosmotech/testsolution_simulator:1.0.0" ,
1450+ " twinengines.azurecr.io/cosmotech/testsolution_simulator:1.0.0" ,
1451+ " twinengines.azurecr.io/cosmotech/testsolution_simulator:1.0.0" ,
1452+ )
1453+ assertEquals(expected, containers.map { container -> container.image })
1454+ }
1455+
1456+ @Test
1457+ fun `Build all containers for a Scenario Two DATASETID containers env vars 2-1` () {
1458+ parametersDatasetEnvTest(getScenarioTwoDatasetIds(), " 1" , " param2-0" )
1459+ }
1460+
1461+ @Test
1462+ fun `Build all containers for a Scenario Two DATASETID containers env vars 2-2` () {
1463+ parametersDatasetEnvTest(getScenarioTwoDatasetIds(), " 2" , " param2-1" )
1464+ }
1465+
1466+ @Test
1467+ fun `Build all containers for a Scenario Two DATASETID containers env vars 3` () {
1468+ parametersDatasetEnvTest(getScenarioTwoDatasetIds(), " 3" , " param3" )
13861469 }
13871470
13881471 @Test
@@ -1812,8 +1895,7 @@ class ContainerFactoryTests {
18121895 )
18131896 }
18141897
1815- private fun parametersDatasetEnvTest (nameId : String , param : String ) {
1816- val scenario = getScenarioDatasetIds()
1898+ private fun parametersDatasetEnvTest (scenario : Scenario , nameId : String , param : String ) {
18171899 val datasets = listOf (getDataset(), getDataset2(), getDataset3())
18181900 val connectors = listOf (getConnector(), getConnector2(), getConnector3())
18191901 val workspace = getWorkspace()
@@ -2243,15 +2325,15 @@ class ContainerFactoryTests {
22432325 ),
22442326 RunTemplateParameter (
22452327 id = " param2" ,
2246- labels = mapOf (" en" to " Parameter Dataset 1 " ),
2328+ labels = mapOf (" en" to " Parameter Dataset 2 " ),
22472329 varType = " %DATASETID%" ),
22482330 RunTemplateParameter (
22492331 id = " param3" ,
2250- labels = mapOf (" en" to " Parameter Dataset 2 " ),
2332+ labels = mapOf (" en" to " Parameter Dataset 3 " ),
22512333 varType = " %DATASETID%" ),
22522334 RunTemplateParameter (
22532335 id = " param4" ,
2254- labels = mapOf (" en" to " Parameter Dataset 3 " ),
2336+ labels = mapOf (" en" to " Parameter Dataset 4 " ),
22552337 varType = " %DATASETID%" ),
22562338 RunTemplateParameter (
22572339 id = " param5" ,
@@ -2490,6 +2572,37 @@ class ContainerFactoryTests {
24902572 ))
24912573 }
24922574
2575+ private fun getScenarioTwoDatasetIds (): Scenario {
2576+ return Scenario (
2577+ id = " AQWXSZ" ,
2578+ name = " Test Scenario" ,
2579+ runTemplateId = " testruntemplate" ,
2580+ datasetList = listOf (" 1" ),
2581+ parametersValues =
2582+ listOf (
2583+ ScenarioRunTemplateParameterValue (
2584+ parameterId = " param1" ,
2585+ value = " valParam1" ,
2586+ ),
2587+ ScenarioRunTemplateParameterValue (
2588+ parameterId = " param2" ,
2589+ value = " [1,2]" ,
2590+ ),
2591+ ScenarioRunTemplateParameterValue (
2592+ parameterId = " param3" ,
2593+ value = " 2" ,
2594+ ),
2595+ ScenarioRunTemplateParameterValue (
2596+ parameterId = " param4" ,
2597+ value = " 3" ,
2598+ ),
2599+ ScenarioRunTemplateParameterValue (
2600+ parameterId = " param5" ,
2601+ value = " 999" ,
2602+ ),
2603+ ))
2604+ }
2605+
24932606 private fun getScenarioTwoDatasetsAndDatasetIds (): Scenario {
24942607 return Scenario (
24952608 id = " AQWXSZ" ,
0 commit comments