@@ -2811,6 +2811,79 @@ class RunnerServiceIntegrationTest : CsmTestBase() {
28112811 assertEquals(newRunnerSaved.id, getAttachedRunnerToDataset.response)
28122812 }
28132813
2814+ @Test
2815+ fun `test default security on dataset parameter is changed when default security is changed on runner` () {
2816+ val existingRunnerDefaultSecurity = runnerSaved.security.default
2817+ assertEquals(ROLE_NONE , existingRunnerDefaultSecurity)
2818+
2819+ val datasetParameterDefaultSecurity =
2820+ datasetApiService
2821+ .getDataset(organizationSaved.id, workspaceSaved.id, runnerSaved.datasets.parameter)
2822+ .security
2823+ .default
2824+ assertEquals(ROLE_NONE , datasetParameterDefaultSecurity)
2825+
2826+ listOf (ROLE_VIEWER , ROLE_EDITOR , ROLE_VALIDATOR , ROLE_ADMIN , ROLE_NONE ).forEach {
2827+ runnerDefaultRole ->
2828+ logger.info(" Test update default security runner to:$runnerDefaultRole " )
2829+ runnerApiService.updateRunnerDefaultSecurity(
2830+ organizationSaved.id,
2831+ workspaceSaved.id,
2832+ runnerSaved.id,
2833+ RunnerRole (runnerDefaultRole),
2834+ )
2835+
2836+ val runnerWithDefaultSecurityUpdated =
2837+ runnerApiService.getRunner(organizationSaved.id, workspaceSaved.id, runnerSaved.id)
2838+ assertEquals(runnerDefaultRole, runnerWithDefaultSecurityUpdated.security.default)
2839+
2840+ val datasetParameterWithExpectedDefaultSecurityUpdated =
2841+ datasetApiService.getDataset(
2842+ organizationSaved.id,
2843+ workspaceSaved.id,
2844+ runnerSaved.datasets.parameter,
2845+ )
2846+ if (runnerDefaultRole == ROLE_VALIDATOR ) {
2847+ assertEquals(ROLE_USER , datasetParameterWithExpectedDefaultSecurityUpdated.security.default)
2848+ } else {
2849+ assertEquals(
2850+ runnerDefaultRole,
2851+ datasetParameterWithExpectedDefaultSecurityUpdated.security.default,
2852+ )
2853+ }
2854+ }
2855+ }
2856+
2857+ @Test
2858+ fun `PROD-15152 - listAllRunners when default security has changed on a runner` () {
2859+ val existingRunnerDefaultSecurity = runnerSaved.security.default
2860+ assertEquals(ROLE_NONE , existingRunnerDefaultSecurity)
2861+
2862+ val datasetParameterDefaultSecurity =
2863+ datasetApiService
2864+ .getDataset(organizationSaved.id, workspaceSaved.id, runnerSaved.datasets.parameter)
2865+ .security
2866+ .default
2867+ assertEquals(ROLE_NONE , datasetParameterDefaultSecurity)
2868+
2869+ assertDoesNotThrow {
2870+ runnerApiService.listRunners(organizationSaved.id, workspaceSaved.id, null , null )
2871+ }
2872+
2873+ runnerApiService.updateRunnerDefaultSecurity(
2874+ organizationSaved.id,
2875+ workspaceSaved.id,
2876+ runnerSaved.id,
2877+ RunnerRole (ROLE_VIEWER ),
2878+ )
2879+
2880+ every { getCurrentAccountIdentifier(any()) } returns CONNECTED_READER_USER
2881+
2882+ assertDoesNotThrow {
2883+ runnerApiService.listRunners(organizationSaved.id, workspaceSaved.id, null , null )
2884+ }
2885+ }
2886+
28142887 fun makeDataset (
28152888 name : String = "name",
28162889 parts : MutableList <DatasetPartCreateRequest > = mutableListOf(),
@@ -2872,8 +2945,8 @@ class RunnerServiceIntegrationTest : CsmTestBase() {
28722945 default = ROLE_NONE ,
28732946 accessControlList =
28742947 mutableListOf (
2875- OrganizationAccessControl (id = CONNECTED_READER_USER , role = " reader " ),
2876- OrganizationAccessControl (id = CONNECTED_ADMIN_USER , role = " admin " ),
2948+ OrganizationAccessControl (id = CONNECTED_READER_USER , role = ROLE_VIEWER ),
2949+ OrganizationAccessControl (id = CONNECTED_ADMIN_USER , role = ROLE_ADMIN ),
28772950 OrganizationAccessControl (id = userName, role = role),
28782951 ),
28792952 ),
@@ -2895,6 +2968,7 @@ class RunnerServiceIntegrationTest : CsmTestBase() {
28952968 mutableListOf (
28962969 WorkspaceAccessControl (id = userName, role = role),
28972970 WorkspaceAccessControl (CONNECTED_ADMIN_USER , ROLE_ADMIN ),
2971+ WorkspaceAccessControl (id = CONNECTED_READER_USER , role = ROLE_VIEWER ),
28982972 ),
28992973 ),
29002974 )
0 commit comments