33package com.cosmotech.dataset.service
44
55import com.cosmotech.api.config.CsmPlatformProperties
6+ import com.cosmotech.api.events.CsmEventPublisher
7+ import com.cosmotech.api.events.TwingraphImportEvent
68import com.cosmotech.api.exceptions.CsmAccessForbiddenException
79import com.cosmotech.api.exceptions.CsmResourceNotFoundException
810import com.cosmotech.api.rbac.PERMISSION_CREATE_CHILDREN
@@ -48,6 +50,7 @@ import com.redis.om.spring.RediSearchIndexer
4850import com.redis.testcontainers.RedisStackContainer
4951import com.redislabs.redisgraph.impl.api.RedisGraph
5052import io.mockk.every
53+ import io.mockk.impl.annotations.MockK
5154import io.mockk.junit5.MockKExtension
5255import io.mockk.mockk
5356import io.mockk.mockkStatic
@@ -101,6 +104,7 @@ class DatasetServiceIntegrationTest : CsmRedisTestBase() {
101104 @Autowired lateinit var connectorApiService: ConnectorApiService
102105 @Autowired lateinit var organizationApiService: OrganizationApiService
103106 @Autowired lateinit var csmPlatformProperties: CsmPlatformProperties
107+ @MockK(relaxUnitFun = true ) private lateinit var eventPublisher: CsmEventPublisher
104108
105109 lateinit var connectorSaved: Connector
106110 lateinit var dataset: Dataset
@@ -125,6 +129,7 @@ class DatasetServiceIntegrationTest : CsmRedisTestBase() {
125129 redisGraph = RedisGraph (jedisPool)
126130 ReflectionTestUtils .setField(datasetApiService, " csmJedisPool" , jedisPool)
127131 ReflectionTestUtils .setField(datasetApiService, " csmRedisGraph" , redisGraph)
132+ ReflectionTestUtils .setField(datasetApiService, " eventPublisher" , eventPublisher)
128133 }
129134
130135 @BeforeEach
@@ -1051,10 +1056,20 @@ class DatasetServiceIntegrationTest : CsmRedisTestBase() {
10511056
10521057 val organization = makeOrganizationWithRole()
10531058 organizationSaved = organizationApiService.registerOrganization(organization)
1054- val dataset = makeDatasetWithRole(role = role, sourceType = DatasetSourceType .None )
1055- datasetSaved = datasetApiService.createDataset(organizationSaved.id!! , dataset)
1059+ val dataset =
1060+ makeDatasetWithRole(role = role, sourceType = DatasetSourceType .Twincache )
1061+ val datasetParentSaved =
1062+ datasetApiService.createDataset(organizationSaved.id!! , dataset)
1063+ datasetSaved = datasetParentSaved
10561064 materializeTwingraph()
1065+ datasetSaved =
1066+ datasetApiService.createSubDataset(
1067+ organizationSaved.id!! , datasetParentSaved.id!! , SubDatasetGraphQuery ())
10571068
1069+ every { eventPublisher.publishEvent(any<TwingraphImportEvent >()) } answers
1070+ {
1071+ firstArg<TwingraphImportEvent >().response = null
1072+ }
10581073 every { getCurrentAccountIdentifier(any()) } returns TEST_USER_MAIL
10591074
10601075 if (shouldThrow) {
0 commit comments