diff --git a/src/main/java/it/pagopa/selfcare/dashboard/security/SelfCarePermissionEvaluatorV2.java b/src/main/java/it/pagopa/selfcare/dashboard/security/SelfCarePermissionEvaluatorV2.java index 57f820a1..a828ea8f 100644 --- a/src/main/java/it/pagopa/selfcare/dashboard/security/SelfCarePermissionEvaluatorV2.java +++ b/src/main/java/it/pagopa/selfcare/dashboard/security/SelfCarePermissionEvaluatorV2.java @@ -31,7 +31,8 @@ public class SelfCarePermissionEvaluatorV2 implements PermissionEvaluator { static final String REQUIRED_GROUP_ID_MESSAGE = "A user group id is required"; private static final String ISSUER_PAGOPA = "PAGOPA"; private static final List PAGOPA_ALLOWED_PERMISSIONS = List.of( - "Selc:ViewInstitutionData" + "Selc:ViewInstitutionData", + "Selc:AccessProductBackofficeAdmin" ); diff --git a/src/test/java/it/pagopa/selfcare/dashboard/security/SelfCarePermissionEvaluatorV2Test.java b/src/test/java/it/pagopa/selfcare/dashboard/security/SelfCarePermissionEvaluatorV2Test.java index 3045f568..fdc36c49 100644 --- a/src/test/java/it/pagopa/selfcare/dashboard/security/SelfCarePermissionEvaluatorV2Test.java +++ b/src/test/java/it/pagopa/selfcare/dashboard/security/SelfCarePermissionEvaluatorV2Test.java @@ -8,6 +8,8 @@ import it.pagopa.selfcare.user.generated.openapi.v1.dto.UserInstitutionWithActions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; @@ -88,14 +90,15 @@ void hasPermissionReturnsFalseForInvalidDirectPermission() { assertFalse(permissionEvaluator.hasPermission(authentication, new FilterAuthorityDomain("institutionId", "productId", null), "Selc:ViewBilling")); } - @Test - void hasPermissionReturnsTrueForIssuerPagoPA() { + @ParameterizedTest + @ValueSource(strings = {"Selc:ViewInstitutionData", "Selc:AccessProductBackofficeAdmin"}) + void hasPermissionReturnsTrueForIssuerPagoPA(String permission) { Authentication authentication = mock(Authentication.class); SelfCareUser user = SelfCareUser.builder("userId").issuer("PAGOPA").build(); when(authentication.getPrincipal()).thenReturn(user); - assertTrue(permissionEvaluator.hasPermission(authentication, new FilterAuthorityDomain("institutionId", null, null), "Selc:ViewInstitutionData")); + assertTrue(permissionEvaluator.hasPermission(authentication, new FilterAuthorityDomain("institutionId", null, null), permission)); } @Test