From 7e785c9edee156df40c65e4d1825a90b9decc48a Mon Sep 17 00:00:00 2001 From: Paris Alexandre Date: Tue, 5 Mar 2024 18:27:31 +0100 Subject: [PATCH] VAS 12422 : return the access contrat of the actual tenant --- .../ExternalParametersInternalService.java | 17 ++++------------- .../ExternalParametersInternalServiceTest.java | 6 ++++-- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/api/api-iam/iam-internal/src/main/java/fr/gouv/vitamui/iam/internal/server/externalParameters/service/ExternalParametersInternalService.java b/api/api-iam/iam-internal/src/main/java/fr/gouv/vitamui/iam/internal/server/externalParameters/service/ExternalParametersInternalService.java index a87834194bc..e3a9277f469 100644 --- a/api/api-iam/iam-internal/src/main/java/fr/gouv/vitamui/iam/internal/server/externalParameters/service/ExternalParametersInternalService.java +++ b/api/api-iam/iam-internal/src/main/java/fr/gouv/vitamui/iam/internal/server/externalParameters/service/ExternalParametersInternalService.java @@ -100,43 +100,33 @@ public ExternalParametersInternalService( public ExternalParametersDto getMyExternalParameters() { LOGGER.debug("GetMyExternalParameters"); final AuthUserDto authUserDto = internalSecurityService.getUser(); - if (authUserDto == null) { LOGGER.warn("AuthUser is null"); - return null; } if (authUserDto.getProfileGroup() == null) { LOGGER.warn("AuthUser has no profile group"); - return null; } if (authUserDto.getProfileGroup().getProfiles() == null) { LOGGER.warn("AuthUser profile group has no profiles"); - return null; } - + Integer tenant = internalSecurityService.getTenantIdentifier(); final Optional optionalExternalParamsProfileDto = authUserDto.getProfileGroup().getProfiles().stream() .filter(p -> Application.EXTERNAL_PARAMS.toString().equalsIgnoreCase(p.getApplicationName())) + .filter(p -> p.getTenantIdentifier().equals(tenant)) .findFirst(); - - if (optionalExternalParamsProfileDto.isEmpty()) { LOGGER.warn("External parameter profile not found"); - return null; } - - final ProfileDto externalParametersProfile = optionalExternalParamsProfileDto.orElseThrow(); - + final ProfileDto externalParametersProfile = optionalExternalParamsProfileDto.get(); if (externalParametersProfile.getExternalParamId() == null) { LOGGER.warn("External parameter profile have no external parameter id"); - return null; } - return this.getOne(externalParametersProfile.getExternalParamId()); } @@ -197,4 +187,5 @@ protected String getObjectName() { protected Converter getConverter() { return externalParametersConverter; } + } diff --git a/api/api-iam/iam-internal/src/test/java/fr/gouv/vitamui/iam/internal/server/externalParameters/service/ExternalParametersInternalServiceTest.java b/api/api-iam/iam-internal/src/test/java/fr/gouv/vitamui/iam/internal/server/externalParameters/service/ExternalParametersInternalServiceTest.java index 7784532ab9d..9e56860868a 100644 --- a/api/api-iam/iam-internal/src/test/java/fr/gouv/vitamui/iam/internal/server/externalParameters/service/ExternalParametersInternalServiceTest.java +++ b/api/api-iam/iam-internal/src/test/java/fr/gouv/vitamui/iam/internal/server/externalParameters/service/ExternalParametersInternalServiceTest.java @@ -76,15 +76,17 @@ public void testGetOne() { final AuthUserDto user = IamServerUtilsTest.buildAuthUserDto(); user.getProfileGroup().getProfiles().get(0).setApplicationName(Application.EXTERNAL_PARAMS.toString()); user.getProfileGroup().getProfiles().get(0).setExternalParamId(ANY_EXTERNAL_PARAM_ID); + user.getProfileGroup().getProfiles().get(0).setTenantIdentifier(1); ExternalParameters externalParameters = new ExternalParameters(); externalParameters.setId(ID); - when(externalParametersRepository.findOne(ArgumentMatchers.any(Query.class))).thenReturn( - Optional.of(externalParameters)); + when(externalParametersRepository.findOne(ArgumentMatchers.any(Query.class))).thenReturn(Optional.of(externalParameters)); when(internalSecurityService.getUser()).thenReturn(user); + when(internalSecurityService.getTenantIdentifier()).thenReturn(1); ExternalParametersDto res = this.service.getMyExternalParameters(); Assert.assertNotNull("ExternalParameters should be returned.", res); Assert.assertTrue(res.getId().equals(ID)); } + }