1
1
// Copyright (c) Cosmo Tech.
2
2
// Licensed under the MIT license.
3
- @file:Suppress(" DEPRECATION" )
4
-
5
3
package com.cosmotech.runner.service
6
4
7
5
import com.cosmotech.api.config.CsmPlatformProperties
@@ -27,7 +25,6 @@ import com.cosmotech.api.utils.getCurrentAuthenticatedUserName
27
25
import com.cosmotech.dataset.api.DatasetApiService
28
26
import com.cosmotech.dataset.domain.Dataset
29
27
import com.cosmotech.dataset.domain.DatasetCreateRequest
30
- import com.cosmotech.dataset.repositories.DatasetRepository
31
28
import com.cosmotech.organization.api.OrganizationApiService
32
29
import com.cosmotech.organization.domain.Organization
33
30
import com.cosmotech.organization.domain.OrganizationAccessControl
@@ -46,7 +43,6 @@ import com.cosmotech.workspace.domain.WorkspaceSecurity
46
43
import com.cosmotech.workspace.domain.WorkspaceSolution
47
44
import com.ninjasquad.springmockk.SpykBean
48
45
import com.redis.om.spring.indexing.RediSearchIndexer
49
- import com.redis.testcontainers.RedisStackContainer
50
46
import io.mockk.every
51
47
import io.mockk.junit5.MockKExtension
52
48
import io.mockk.mockk
@@ -72,9 +68,6 @@ import org.springframework.test.context.ActiveProfiles
72
68
import org.springframework.test.context.junit.jupiter.SpringExtension
73
69
import org.springframework.test.context.junit4.SpringRunner
74
70
import org.springframework.test.util.ReflectionTestUtils
75
- import redis.clients.jedis.HostAndPort
76
- import redis.clients.jedis.Protocol
77
- import redis.clients.jedis.UnifiedJedis
78
71
79
72
@ActiveProfiles(profiles = [" runner-test" ])
80
73
@ExtendWith(MockKExtension ::class )
@@ -95,7 +88,6 @@ class RunnerServiceIntegrationTest : CsmTestBase() {
95
88
@Autowired lateinit var rediSearchIndexer: RediSearchIndexer
96
89
@Autowired lateinit var organizationApiService: OrganizationApiService
97
90
@SpykBean @Autowired lateinit var datasetApiService: DatasetApiService
98
- @Autowired lateinit var datasetRepository: DatasetRepository
99
91
@Autowired lateinit var solutionApiService: SolutionApiService
100
92
@Autowired lateinit var workspaceApiService: WorkspaceApiService
101
93
@Autowired lateinit var runnerApiService: RunnerApiServiceInterface
@@ -118,8 +110,6 @@ class RunnerServiceIntegrationTest : CsmTestBase() {
118
110
lateinit var runnerSaved: Runner
119
111
lateinit var parentRunnerSaved: Runner
120
112
121
- lateinit var jedis: UnifiedJedis
122
-
123
113
val runTemplateParameterValue1 =
124
114
RunnerRunTemplateParameterValue (
125
115
parameterId = " param1" , value = " param1value" , isInherited = true , varType = " String" )
@@ -133,12 +123,7 @@ class RunnerServiceIntegrationTest : CsmTestBase() {
133
123
mockkStatic(" com.cosmotech.api.utils.SecurityUtilsKt" )
134
124
mockkStatic(" com.cosmotech.api.utils.RedisUtilsKt" )
135
125
mockkStatic(" org.springframework.web.context.request.RequestContextHolder" )
136
- val context = getContext(redisStackServer)
137
- val containerIp =
138
- (context.server as RedisStackContainer ).containerInfo.networkSettings.ipAddress
139
- jedis = UnifiedJedis (HostAndPort (containerIp, Protocol .DEFAULT_PORT ))
140
126
141
- ReflectionTestUtils .setField(datasetApiService, " unifiedJedis" , jedis)
142
127
ReflectionTestUtils .setField(
143
128
solutionApiService, " containerRegistryService" , containerRegistryService)
144
129
every { containerRegistryService.getImageLabel(any(), any(), any()) } returns null
@@ -625,7 +610,7 @@ class RunnerServiceIntegrationTest : CsmTestBase() {
625
610
626
611
@Test
627
612
fun `test on runner creation with null datasetList when parent has non-empty datasetList` () {
628
- val parentDatasetList = mutableListOf (" fakeId " )
613
+ val parentDatasetList = mutableListOf (datasetSaved.id )
629
614
val parentRunnerWithNonEmptyDatasetList =
630
615
makeRunnerCreateRequest(datasetList = parentDatasetList)
631
616
assertNotNull(parentRunnerWithNonEmptyDatasetList.datasetList)
@@ -649,7 +634,8 @@ class RunnerServiceIntegrationTest : CsmTestBase() {
649
634
650
635
@Test
651
636
fun `test on runner creation with empty datasetList when parent has non-empty datasetList` () {
652
- val parentDatasetList = mutableListOf (" fakeId" )
637
+
638
+ val parentDatasetList = mutableListOf (datasetSaved.id)
653
639
val parentRunnerWithNonEmptyDatasetList =
654
640
makeRunnerCreateRequest(datasetList = parentDatasetList)
655
641
assertNotNull(parentRunnerWithNonEmptyDatasetList.datasetList)
@@ -673,7 +659,7 @@ class RunnerServiceIntegrationTest : CsmTestBase() {
673
659
674
660
@Test
675
661
fun `test on runner creation with non-empty datasetList when parent has non-empty datasetList` () {
676
- val parentDatasetList = mutableListOf (" fakeDatasetIdParentRunner " )
662
+ val parentDatasetList = mutableListOf (datasetSaved.id )
677
663
val parentRunnerWithNonEmptyDatasetList =
678
664
makeRunnerCreateRequest(datasetList = parentDatasetList)
679
665
assertNotNull(parentRunnerWithNonEmptyDatasetList.datasetList)
@@ -684,7 +670,15 @@ class RunnerServiceIntegrationTest : CsmTestBase() {
684
670
.createRunner(
685
671
organizationSaved.id, workspaceSaved.id, parentRunnerWithNonEmptyDatasetList)
686
672
.id
687
- val childDatasetList = mutableListOf (" fakeDatasetIdChildRunner" )
673
+
674
+ val childDataset =
675
+ datasetApiService.createDataset(
676
+ organizationSaved.id,
677
+ workspaceSaved.id,
678
+ makeDataset(name = " For Child Runner" ),
679
+ emptyArray())
680
+
681
+ val childDatasetList = mutableListOf (childDataset.id)
688
682
val childRunnerWithNonEmptyDatasetList =
689
683
makeRunnerCreateRequest(parentId = parentId, datasetList = childDatasetList)
690
684
val childRunnerDatasetList =
@@ -715,7 +709,7 @@ class RunnerServiceIntegrationTest : CsmTestBase() {
715
709
716
710
val datasetUserList =
717
711
datasetApiService.listDatasetSecurityUsers(
718
- organizationSaved.id, organizationSaved .id, newDataset.id)
712
+ organizationSaved.id, workspaceSaved .id, newDataset.id)
719
713
datasetUserList.containsAll(runnerUserList)
720
714
}
721
715
@@ -817,16 +811,20 @@ class RunnerServiceIntegrationTest : CsmTestBase() {
817
811
solution = WorkspaceSolution (solutionSaved.id),
818
812
datasetCopy = false )
819
813
workspaceSaved = workspaceApiService.createWorkspace(organizationSaved.id, workspace)
820
- runner = makeRunnerCreateRequest(datasetList = mutableListOf (datasetSaved.id))
814
+ val runnerDataset =
815
+ datasetApiService.createDataset(
816
+ organizationSaved.id, workspaceSaved.id, makeDataset(), emptyArray())
817
+
818
+ runner = makeRunnerCreateRequest(datasetList = mutableListOf (runnerDataset.id))
821
819
runnerSaved = runnerApiService.createRunner(organizationSaved.id, workspaceSaved.id, runner)
822
820
823
- datasetSaved =
821
+ val datasetRetrieved =
824
822
datasetApiService.getDataset(
825
823
organizationSaved.id, workspaceSaved.id, runnerSaved.datasetList[0 ])
826
824
runnerApiService.deleteRunner(organizationSaved.id, workspaceSaved.id, runnerSaved.id)
827
825
828
826
assertDoesNotThrow {
829
- datasetApiService.getDataset(organizationSaved.id, workspaceSaved.id, datasetSaved .id)
827
+ datasetApiService.getDataset(organizationSaved.id, workspaceSaved.id, datasetRetrieved .id)
830
828
}
831
829
}
832
830
@@ -839,21 +837,25 @@ class RunnerServiceIntegrationTest : CsmTestBase() {
839
837
solution = WorkspaceSolution (solutionSaved.id),
840
838
datasetCopy = true )
841
839
workspaceSaved = workspaceApiService.createWorkspace(organizationSaved.id, workspace)
842
- runner = makeRunnerCreateRequest(datasetList = mutableListOf (datasetSaved.id))
840
+ val runnerDataset =
841
+ datasetApiService.createDataset(
842
+ organizationSaved.id, workspaceSaved.id, makeDataset(" runnerDataset" ), emptyArray())
843
+ runner = makeRunnerCreateRequest(datasetList = mutableListOf (runnerDataset.id))
843
844
runnerSaved = runnerApiService.createRunner(organizationSaved.id, workspaceSaved.id, runner)
844
845
845
- datasetSaved =
846
- datasetApiService.getDataset(
847
- organizationSaved.id, workspaceSaved.id, runnerSaved.datasetList[0 ])
848
846
runnerApiService.createRunnerAccessControl(
849
847
organizationSaved.id,
850
848
workspaceSaved.id,
851
849
runnerSaved.id,
852
850
RunnerAccessControl (id = " id" , role = ROLE_EDITOR ))
853
851
852
+ val retrievedDataset =
853
+ datasetApiService.getDataset(
854
+ organizationSaved.id, workspaceSaved.id, runnerSaved.datasetList[0 ])
855
+
854
856
val datasetAC =
855
857
datasetApiService.getDatasetAccessControl(
856
- organizationSaved.id, workspaceSaved.id, datasetSaved .id, " id" )
858
+ organizationSaved.id, workspaceSaved.id, retrievedDataset .id, " id" )
857
859
assertEquals(ROLE_EDITOR , datasetAC.role)
858
860
}
859
861
@@ -1136,9 +1138,6 @@ class RunnerServiceIntegrationTest : CsmTestBase() {
1136
1138
fun `As a viewer, I can only see my information in security property for listRunners` () {
1137
1139
every { getCurrentAccountIdentifier(any()) } returns defaultName
1138
1140
organizationSaved = organizationApiService.createOrganization(organization)
1139
- datasetSaved =
1140
- datasetApiService.createDataset(
1141
- organizationSaved.id, workspaceSaved.id, dataset, emptyArray())
1142
1141
solutionSaved = solutionApiService.createSolution(organizationSaved.id, solution)
1143
1142
workspace = makeWorkspaceCreateRequest()
1144
1143
workspaceSaved = workspaceApiService.createWorkspace(organizationSaved.id, workspace)
@@ -1177,9 +1176,6 @@ class RunnerServiceIntegrationTest : CsmTestBase() {
1177
1176
fun `As a validator, I can see whole security property for listRunners` () {
1178
1177
every { getCurrentAccountIdentifier(any()) } returns defaultName
1179
1178
organizationSaved = organizationApiService.createOrganization(organization)
1180
- datasetSaved =
1181
- datasetApiService.createDataset(
1182
- organizationSaved.id, workspaceSaved.id, dataset, emptyArray())
1183
1179
solutionSaved = solutionApiService.createSolution(organizationSaved.id, solution)
1184
1180
workspace = makeWorkspaceCreateRequest()
1185
1181
workspaceSaved = workspaceApiService.createWorkspace(organizationSaved.id, workspace)
0 commit comments