diff options
author | Wojciech Sliwka <wojciech.sliwka@nokia.com> | 2019-01-22 14:49:40 +0100 |
---|---|---|
committer | Wojciech Sliwka <wojciech.sliwka@nokia.com> | 2019-01-31 07:29:23 +0100 |
commit | a89c613095622ccb529483c0ad37d7f23048989e (patch) | |
tree | 0159ee65aeaf6e370c82c3ee2d81bd0b735ff99c /vid-app-common/src/main/java/org/onap/vid/roles/RoleProvider.java | |
parent | bbf85bb59eac98acb6266d32efa0e54e73852447 (diff) |
Replaced tests for roles
Issue-ID: VID-388
Change-Id: I7c8c4ec50312f7ccd3a40eb2568cb8181f50b5d8
Signed-off-by: Wojciech Sliwka <wojciech.sliwka@nokia.com>
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/roles/RoleProvider.java')
-rw-r--r-- | vid-app-common/src/main/java/org/onap/vid/roles/RoleProvider.java | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/roles/RoleProvider.java b/vid-app-common/src/main/java/org/onap/vid/roles/RoleProvider.java index d4256f893..e792139bf 100644 --- a/vid-app-common/src/main/java/org/onap/vid/roles/RoleProvider.java +++ b/vid-app-common/src/main/java/org/onap/vid/roles/RoleProvider.java @@ -36,6 +36,7 @@ import org.springframework.stereotype.Component; import javax.servlet.http.HttpServletRequest; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; @@ -50,16 +51,32 @@ public class RoleProvider { static final String READ_PERMISSION_STRING = "read"; private final ObjectMapper om = new ObjectMapper(); - @Autowired private AaiService aaiService; + private Function<HttpServletRequest, Integer> getUserIdFunction; + private Function<HttpServletRequest, Map> getRolesFunction; + + @Autowired + public RoleProvider(AaiService aaiService) { + this.aaiService=aaiService; + getUserIdFunction = UserUtils::getUserId; + getRolesFunction = UserUtils::getRoles; + } + + RoleProvider(AaiService aaiService, Function<HttpServletRequest, Integer> getUserIdFunction, Function<HttpServletRequest, Map> getRolesFunction) { + this.aaiService = aaiService; + this.getRolesFunction = getRolesFunction; + this.getUserIdFunction = getUserIdFunction; + } + public List<Role> getUserRoles(HttpServletRequest request) { - String logPrefix = "Role Provider (" + UserUtils.getUserId(request) + ") ==>"; + int userId= getUserIdFunction.apply(request); + String logPrefix = "Role Provider (" + userId + ") ==>"; - LOG.debug(EELFLoggerDelegate.debugLogger, logPrefix + "Entering to get user role for user " + UserUtils.getUserId(request)); + LOG.debug(EELFLoggerDelegate.debugLogger, logPrefix + "Entering to get user role for user " + userId); List<Role> roleList = new ArrayList<>(); - Map roles = UserUtils.getRoles(request); + Map roles = getRolesFunction.apply(request); for (Object role : roles.keySet()) { org.onap.portalsdk.core.domain.Role sdkRol = (org.onap.portalsdk.core.domain.Role) roles.get(role); @@ -72,7 +89,7 @@ public class RoleProvider { } String[] roleParts = splitRole((sdkRol.getName()), logPrefix); roleList.add(createRoleFromStringArr(roleParts, logPrefix)); - String msg = String.format("%s User %s got permissions %s", logPrefix, UserUtils.getUserId(request), Arrays.toString(roleParts)); + String msg = String.format("%s User %s got permissions %s", logPrefix, userId, Arrays.toString(roleParts)); LOG.debug(EELFLoggerDelegate.debugLogger, msg); } catch (Exception e) { LOG.error(logPrefix + " Failed to parse permission"); |