@@ -339,7 +339,7 @@ class DatasetServiceIntegrationTest : CsmRedisTestBase() {
339
339
organizationSaved = organizationApiService.registerOrganization(organization)
340
340
val numberOfDatasets = 20
341
341
val defaultPageSize = csmPlatformProperties.twincache.dataset.defaultPageSize
342
- val expectedSize = 15
342
+ val expectedPageSize = 15
343
343
IntRange (1 , numberOfDatasets).forEach {
344
344
datasetApiService.createDataset(
345
345
organizationSaved.id!! , makeDataset(" d-dataset-$it " , " dataset-$it " ))
@@ -351,19 +351,19 @@ class DatasetServiceIntegrationTest : CsmRedisTestBase() {
351
351
352
352
logger.info(" should find all datasets and assert there are $numberOfDatasets " )
353
353
var datasetList = datasetApiService.findAllDatasets(organizationSaved.id!! , null , null )
354
- assertEquals(numberOfDatasets + 1 , datasetList.size)
354
+ assertEquals(numberOfDatasets, datasetList.size)
355
355
356
356
logger.info(" should find all datasets and assert it equals defaultPageSize: $defaultPageSize " )
357
357
datasetList = datasetApiService.findAllDatasets(organizationSaved.id!! , 0 , null )
358
358
assertEquals(defaultPageSize, datasetList.size)
359
359
360
- logger.info(" should find all datasets and assert there are expected size: $expectedSize " )
361
- datasetList = datasetApiService.findAllDatasets(organizationSaved.id!! , 0 , expectedSize )
362
- assertEquals(expectedSize , datasetList.size)
360
+ logger.info(" should find all datasets and assert there are expected size: $expectedPageSize " )
361
+ datasetList = datasetApiService.findAllDatasets(organizationSaved.id!! , 0 , expectedPageSize )
362
+ assertEquals(expectedPageSize , datasetList.size)
363
363
364
364
logger.info(" should find all solutions and assert it returns the second / last page" )
365
- datasetList = datasetApiService.findAllDatasets(organizationSaved.id!! , 1 , expectedSize )
366
- assertEquals(numberOfDatasets - expectedSize + 1 , datasetList.size)
365
+ datasetList = datasetApiService.findAllDatasets(organizationSaved.id!! , 1 , expectedPageSize )
366
+ assertEquals(numberOfDatasets - expectedPageSize , datasetList.size)
367
367
}
368
368
369
369
@Test
@@ -440,33 +440,43 @@ class DatasetServiceIntegrationTest : CsmRedisTestBase() {
440
440
}
441
441
442
442
@Test
443
- fun `test find All Datasets with different pagination params ` () {
443
+ fun `PROD-12947 - test find All Datasets as Platform Admin ` () {
444
444
organizationSaved = organizationApiService.registerOrganization(organization)
445
+
446
+ // Create a dataset that current user should not see because he does not have permission to
445
447
val numberOfDatasets = 20
446
- val defaultPageSize = csmPlatformProperties.twincache.dataset.defaultPageSize
447
- val expectedSize = 15
448
448
IntRange (1 , numberOfDatasets).forEach {
449
449
datasetApiService.createDataset(
450
- organizationSaved.id!! , makeDatasetWithRole(" d-dataset-$it " , " dataset-$it " ))
450
+ organizationSaved.id!! ,
451
+ makeDatasetWithRole(
452
+ organizationId
= organizationSaved.id
!! , userName
= " [email protected] " ))
451
453
}
452
454
453
- logger.info(" should find all datasets and assert there are $numberOfDatasets " )
455
+ // Explicitly set connected user information
456
+ every { getCurrentAccountIdentifier(any()) } returns TEST_USER_MAIL
457
+ every { getCurrentAuthenticatedUserName(csmPlatformProperties) } returns " test.user"
458
+ every { getCurrentAuthenticatedRoles(any()) } returns listOf (ROLE_PLATFORM_ADMIN )
459
+
460
+ logger.info(" should find all datasets because of admin permission" )
454
461
var datasetList = datasetApiService.findAllDatasets(organizationSaved.id!! , null , null )
455
462
assertEquals(numberOfDatasets, datasetList.size)
456
463
457
- logger.info(" should find all datasets and assert it equals defaultPageSize: $defaultPageSize " )
458
- datasetList = datasetApiService.findAllDatasets(organizationSaved.id!! , 0 , null )
459
- assertEquals(defaultPageSize, datasetList.size)
460
-
461
- logger.info(" should find all datasets and assert there are expected size: $expectedSize " )
462
- datasetList = datasetApiService.findAllDatasets(organizationSaved.id!! , 0 , expectedSize)
463
- assertEquals(expectedSize, datasetList.size)
464
+ // Create a dataset that current user should not see because it has been created under another
465
+ // organization
466
+ val newOrganization = organizationApiService.registerOrganization(makeOrganizationWithRole())
467
+ val datasetNotReachableByCurrentUserBecausePartOfAnotherOrganization =
468
+ datasetApiService.createDataset(
469
+ newOrganization.id!! , makeDatasetWithRole(organizationId = newOrganization.id!! ))
470
+ assertNotNull(datasetNotReachableByCurrentUserBecausePartOfAnotherOrganization)
471
+ logger.info(" should not find the new dataset because it was created in another organization" )
472
+ datasetList = datasetApiService.findAllDatasets(organizationSaved.id!! , null , null )
473
+ assertEquals(numberOfDatasets, datasetList.size)
464
474
465
- logger.info(" should find all solutions and assert it returns the second / last page" )
466
- datasetList = datasetApiService.findAllDatasets(organizationSaved.id!! , 1 , expectedSize)
467
- assertEquals(numberOfDatasets - expectedSize, datasetList.size)
475
+ logger.info(" should find only one dataset" )
476
+ datasetList = datasetApiService.findAllDatasets(newOrganization.id!! , null , null )
477
+ assertEquals(1 , datasetList.size)
478
+ assertEquals(datasetNotReachableByCurrentUserBecausePartOfAnotherOrganization, datasetList[0 ])
468
479
}
469
-
470
480
@Test
471
481
fun `test find All Datasets with wrong pagination params` () {
472
482
organizationSaved = organizationApiService.registerOrganization(organization)
0 commit comments