From ecfe375994b7561d37a07f8879740b1c85f260a2 Mon Sep 17 00:00:00 2001 From: "Kishore Reddy, Gujja (kg811t)" Date: Wed, 15 Aug 2018 08:39:30 -0400 Subject: Modified User Auth and permission aaf services Issue-ID: PORTAL-334 Change-Id: I461fd5a61879434e9c105c7598e9948004a5f608 Signed-off-by: Kishore Reddy, Gujja (kg811t) --- .../authorization/domain/ExternalAccessRole.java | 68 ++++++++-- .../domain/ExternalAccessRoleDescription.java | 142 +++++++++++++++++++ .../domain/ExternalAccessRolePerms.java | 66 --------- .../domain/ExternalAccessUserRoleDetail.java | 51 +++---- .../domain/ExternalRoleDescription.java | 150 --------------------- .../authorization/service/UserApiServiceImpl.java | 108 ++++++--------- .../domain/ExternalAccessRoleDescriptionTest.java | 74 ++++++++++ .../domain/ExternalAccessRolePermsTest.java | 68 ---------- .../domain/ExternalAccessRoleTest.java | 19 ++- .../domain/ExternalAccessUserRoleDetailTest.java | 42 ++---- .../domain/ExternalRoleDescriptionTest.java | 94 ------------- .../service/OnBoardingApiServiceImplTest.java | 13 +- .../org/onap/portalsdk/core/domain/UserApp.java | 25 ++-- .../onap/portalsdk/core/domain/UserAppTest.java | 4 +- .../org/onap/portalsdk/core/domain/UserTest.java | 20 ++- 15 files changed, 395 insertions(+), 549 deletions(-) create mode 100644 ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRoleDescription.java delete mode 100644 ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRolePerms.java delete mode 100644 ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalRoleDescription.java create mode 100644 ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRoleDescriptionTest.java delete mode 100644 ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRolePermsTest.java delete mode 100644 ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalRoleDescriptionTest.java diff --git a/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRole.java b/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRole.java index 8c191181..2c6f3ff7 100644 --- a/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRole.java +++ b/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRole.java @@ -2,7 +2,7 @@ * ============LICENSE_START========================================== * ONAP Portal SDK * =================================================================== - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. * =================================================================== * * Unless otherwise specified, all software contained herein is licensed @@ -38,23 +38,25 @@ package org.onap.portalsdk.external.authorization.domain; import java.io.Serializable; +import java.util.List; public class ExternalAccessRole implements Serializable { - /** - * - */ private static final long serialVersionUID = 3439986826362436339L; + public String name; - public String description; + private List perms; + public ExternalAccessRoleDescription description; - public ExternalAccessRole() { + public ExternalAccessRole() { + super(); } - - public ExternalAccessRole(String name, String description) { + + public ExternalAccessRole(String name, List ecPerms, ExternalAccessRoleDescription description) { super(); this.name = name; + this.perms = ecPerms; this.description = description; } @@ -65,12 +67,58 @@ public class ExternalAccessRole implements Serializable { public void setName(String name) { this.name = name; } + + public List getPerms() { + return perms; + } - public String getDescription() { + public void setPerms(List perms) { + this.perms = perms; + } + + public ExternalAccessRoleDescription getDescription() { return description; } - public void setDescription(String description) { + public void setDescription(ExternalAccessRoleDescription description) { this.description = description; } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((description == null) ? 0 : description.hashCode()); + result = prime * result + ((name == null) ? 0 : name.hashCode()); + result = prime * result + ((perms == null) ? 0 : perms.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + ExternalAccessRole other = (ExternalAccessRole) obj; + if (description == null) { + if (other.description != null) + return false; + } else if (!description.equals(other.description)) + return false; + if (name == null) { + if (other.name != null) + return false; + } else if (!name.equals(other.name)) + return false; + if (perms == null) { + if (other.perms != null) + return false; + } else if (!perms.equals(other.perms)) + return false; + return true; + } + } diff --git a/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRoleDescription.java b/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRoleDescription.java new file mode 100644 index 00000000..e7e18749 --- /dev/null +++ b/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRoleDescription.java @@ -0,0 +1,142 @@ +/*- + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.external.authorization.domain; + +public class ExternalAccessRoleDescription { + + private String id; + private String name; + private String active; + private String priority; + private String appId; + private String appRoleId; + + public String getId() { + return id; + } + public void setId(String id) { + this.id = id; + } + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getActive() { + return active; + } + public void setActive(String active) { + this.active = active; + } + public String getPriority() { + return priority; + } + public void setPriority(String priority) { + this.priority = priority; + } + public String getAppId() { + return appId; + } + public void setAppId(String appId) { + this.appId = appId; + } + public String getAppRoleId() { + return appRoleId; + } + public void setAppRoleId(String appRoleId) { + this.appRoleId = appRoleId; + } + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((active == null) ? 0 : active.hashCode()); + result = prime * result + ((appId == null) ? 0 : appId.hashCode()); + result = prime * result + ((appRoleId == null) ? 0 : appRoleId.hashCode()); + result = prime * result + ((id == null) ? 0 : id.hashCode()); + result = prime * result + ((name == null) ? 0 : name.hashCode()); + result = prime * result + ((priority == null) ? 0 : priority.hashCode()); + return result; + } + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + ExternalAccessRoleDescription other = (ExternalAccessRoleDescription) obj; + if (active == null) { + if (other.active != null) + return false; + } else if (!active.equals(other.active)) + return false; + if (appId == null) { + if (other.appId != null) + return false; + } else if (!appId.equals(other.appId)) + return false; + if (appRoleId == null) { + if (other.appRoleId != null) + return false; + } else if (!appRoleId.equals(other.appRoleId)) + return false; + if (id == null) { + if (other.id != null) + return false; + } else if (!id.equals(other.id)) + return false; + if (name == null) { + if (other.name != null) + return false; + } else if (!name.equals(other.name)) + return false; + if (priority == null) { + if (other.priority != null) + return false; + } else if (!priority.equals(other.priority)) + return false; + return true; + } + + + + +} diff --git a/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRolePerms.java b/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRolePerms.java deleted file mode 100644 index 95b4f0c4..00000000 --- a/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRolePerms.java +++ /dev/null @@ -1,66 +0,0 @@ -/*- - * ============LICENSE_START========================================== - * ONAP Portal SDK - * =================================================================== - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * =================================================================== - * - * Unless otherwise specified, all software contained herein is licensed - * under the Apache License, Version 2.0 (the "License"); - * you may not use this software except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Unless otherwise specified, all documentation contained herein is licensed - * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); - * you may not use this documentation except in compliance with the License. - * You may obtain a copy of the License at - * - * https://creativecommons.org/licenses/by/4.0/ - * - * Unless required by applicable law or agreed to in writing, documentation - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ============LICENSE_END============================================ - * - * - */ -package org.onap.portalsdk.external.authorization.domain; - -public class ExternalAccessRolePerms { - - private ExternalAccessPerms perm; - private String role; - - - public ExternalAccessRolePerms(ExternalAccessPerms perm, String role) { - super(); - this.perm = perm; - this.role = role; - } - - public ExternalAccessPerms getPerm() { - return perm; - } - public void setPerm(ExternalAccessPerms perm) { - this.perm = perm; - } - public String getRole() { - return role; - } - public void setRole(String role) { - this.role = role; - } - - -} diff --git a/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessUserRoleDetail.java b/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessUserRoleDetail.java index 929bd351..5e189e5c 100644 --- a/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessUserRoleDetail.java +++ b/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessUserRoleDetail.java @@ -2,7 +2,7 @@ * ============LICENSE_START========================================== * ONAP Portal SDK * =================================================================== - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. * =================================================================== * * Unless otherwise specified, all software contained herein is licensed @@ -39,42 +39,30 @@ package org.onap.portalsdk.external.authorization.domain; public class ExternalAccessUserRoleDetail { - private String name; - private ExternalRoleDescription description; - + private ExternalAccessRole role; + + public ExternalAccessRole getRole() { + return role; + } + + public void setRole(ExternalAccessRole role) { + this.role = role; + } - /** - * - */ public ExternalAccessUserRoleDetail() { super(); - } + } - public ExternalAccessUserRoleDetail(String name, ExternalRoleDescription description) { + public ExternalAccessUserRoleDetail(ExternalAccessRole role) { super(); - this.name = name; - this.description = description; - } - - public String getName() { - return name; - } - public void setName(String name) { - this.name = name; - } - public ExternalRoleDescription getDescription() { - return description; - } - public void setDescription(ExternalRoleDescription description) { - this.description = description; + this.role = role; } @Override public int hashCode() { final int prime = 31; int result = 1; - result = prime * result + ((description == null) ? 0 : description.hashCode()); - result = prime * result + ((name == null) ? 0 : name.hashCode()); + result = prime * result + ((role == null) ? 0 : role.hashCode()); return result; } @@ -87,15 +75,10 @@ public class ExternalAccessUserRoleDetail { if (getClass() != obj.getClass()) return false; ExternalAccessUserRoleDetail other = (ExternalAccessUserRoleDetail) obj; - if (description == null) { - if (other.description != null) - return false; - } else if (!description.equals(other.description)) - return false; - if (name == null) { - if (other.name != null) + if (role == null) { + if (other.role != null) return false; - } else if (!name.equals(other.name)) + } else if (!role.equals(other.role)) return false; return true; } diff --git a/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalRoleDescription.java b/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalRoleDescription.java deleted file mode 100644 index 68effb0c..00000000 --- a/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/domain/ExternalRoleDescription.java +++ /dev/null @@ -1,150 +0,0 @@ -/*- - * ============LICENSE_START========================================== - * ONAP Portal SDK - * =================================================================== - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * =================================================================== - * - * Unless otherwise specified, all software contained herein is licensed - * under the Apache License, Version 2.0 (the "License"); - * you may not use this software except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Unless otherwise specified, all documentation contained herein is licensed - * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); - * you may not use this documentation except in compliance with the License. - * You may obtain a copy of the License at - * - * https://creativecommons.org/licenses/by/4.0/ - * - * Unless required by applicable law or agreed to in writing, documentation - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ============LICENSE_END============================================ - * - * - */ -package org.onap.portalsdk.external.authorization.domain; - -import java.util.List; - -public class ExternalRoleDescription { - - private String id; - private String name; - private String active; - private String priority; - private String appId; - private String appRoleId; - private List permissions; - - public String getId() { - return id; - } - public void setId(String id) { - this.id = id; - } - public String getName() { - return name; - } - public void setName(String name) { - this.name = name; - } - public String getActive() { - return active; - } - public void setActive(String active) { - this.active = active; - } - public String getPriority() { - return priority; - } - public void setPriority(String priority) { - this.priority = priority; - } - public String getAppId() { - return appId; - } - public void setAppId(String appId) { - this.appId = appId; - } - public String getAppRoleId() { - return appRoleId; - } - public void setAppRoleId(String appRoleId) { - this.appRoleId = appRoleId; - } - - public List getPermissions() { - return permissions; - } - public void setPermissions(List permissions) { - this.permissions = permissions; - } - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((active == null) ? 0 : active.hashCode()); - result = prime * result + ((appId == null) ? 0 : appId.hashCode()); - result = prime * result + ((appRoleId == null) ? 0 : appRoleId.hashCode()); - result = prime * result + ((id == null) ? 0 : id.hashCode()); - result = prime * result + ((name == null) ? 0 : name.hashCode()); - result = prime * result + ((priority == null) ? 0 : priority.hashCode()); - return result; - } - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - ExternalRoleDescription other = (ExternalRoleDescription) obj; - if (active == null) { - if (other.active != null) - return false; - } else if (!active.equals(other.active)) - return false; - if (appId == null) { - if (other.appId != null) - return false; - } else if (!appId.equals(other.appId)) - return false; - if (appRoleId == null) { - if (other.appRoleId != null) - return false; - } else if (!appRoleId.equals(other.appRoleId)) - return false; - if (id == null) { - if (other.id != null) - return false; - } else if (!id.equals(other.id)) - return false; - if (name == null) { - if (other.name != null) - return false; - } else if (!name.equals(other.name)) - return false; - if (priority == null) { - if (other.priority != null) - return false; - } else if (!priority.equals(other.priority)) - return false; - return true; - } - - -} diff --git a/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/service/UserApiServiceImpl.java b/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/service/UserApiServiceImpl.java index 3eac97b5..14d8a5e2 100644 --- a/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/service/UserApiServiceImpl.java +++ b/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/service/UserApiServiceImpl.java @@ -2,7 +2,7 @@ * ============LICENSE_START========================================== * ONAP Portal SDK * =================================================================== - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. * =================================================================== * * Unless otherwise specified, all software contained herein is licensed @@ -61,8 +61,9 @@ import org.onap.portalsdk.core.service.DataAccessService; import org.onap.portalsdk.core.service.LdapService; import org.onap.portalsdk.core.service.PostSearchService; import org.onap.portalsdk.external.authorization.domain.ExternalAccessPerms; +import org.onap.portalsdk.external.authorization.domain.ExternalAccessRole; +import org.onap.portalsdk.external.authorization.domain.ExternalAccessRoleDescription; import org.onap.portalsdk.external.authorization.domain.ExternalAccessUserRoleDetail; -import org.onap.portalsdk.external.authorization.domain.ExternalRoleDescription; import org.onap.portalsdk.external.authorization.exception.UserNotFoundException; import org.onap.portalsdk.external.authorization.util.EcompExternalAuthProperties; import org.onap.portalsdk.external.authorization.util.EcompExternalAuthUtils; @@ -133,7 +134,7 @@ public class UserApiServiceImpl implements UserApiService { } String userRoles = getResponse.getBody(); ObjectMapper mapper = new ObjectMapper(); - List userRoleDetailList = setExterbalAccessUserRoles(namespace, userRoles, + List userRoleDetailList = setExternalAccessUserRoles(namespace, userRoles, mapper); if (userRoleDetailList.isEmpty()) { @@ -148,7 +149,7 @@ public class UserApiServiceImpl implements UserApiService { } - private List setExterbalAccessUserRoles(String namespace, String userRoles, + private List setExternalAccessUserRoles(String namespace, String userRoles, ObjectMapper mapper) throws IOException, JsonParseException, JsonMappingException, UserNotFoundException { JSONObject userJsonObj; JSONArray userJsonArray; @@ -163,20 +164,21 @@ public class UserApiServiceImpl implements UserApiService { .endsWith(EcompExternalAuthUtils.EXT_ROLE_FIELD_ADMIN) && !role.getString(EcompExternalAuthUtils.EXT_ROLE_FIELD_NAME) .endsWith(EcompExternalAuthUtils.EXT_ROLE_FIELD_OWNER)) { - ExternalRoleDescription desc = new ExternalRoleDescription(); + ExternalAccessRoleDescription ecDesc = new ExternalAccessRoleDescription(); if (role.has(EcompExternalAuthUtils.EXT_FIELD_DESCRIPTION) && EcompExternalAuthUtils .isJSONValid(role.getString(EcompExternalAuthUtils.EXT_FIELD_DESCRIPTION))) { - desc = mapper.readValue(role.getString(EcompExternalAuthUtils.EXT_FIELD_DESCRIPTION), - ExternalRoleDescription.class); + ecDesc = mapper.readValue(role.getString(EcompExternalAuthUtils.EXT_FIELD_DESCRIPTION), + ExternalAccessRoleDescription.class); } + List ecPerms = new ArrayList<>(); if (role.has(EcompExternalAuthUtils.EXT_FIELD_PERMS)) { JSONArray perms = role.getJSONArray(EcompExternalAuthUtils.EXT_FIELD_PERMS); - List permsList = mapper.readValue(perms.toString(), TypeFactory - .defaultInstance().constructCollectionType(List.class, ExternalAccessPerms.class)); - desc.setPermissions(permsList); + ecPerms = mapper.readValue(perms.toString(), TypeFactory.defaultInstance() + .constructCollectionType(List.class, ExternalAccessPerms.class)); } - userRoleDetail = new ExternalAccessUserRoleDetail( - role.getString(EcompExternalAuthUtils.EXT_ROLE_FIELD_NAME), desc); + ExternalAccessRole ecRole = new ExternalAccessRole( + role.getString(EcompExternalAuthUtils.EXT_ROLE_FIELD_NAME), ecPerms, ecDesc); + userRoleDetail = new ExternalAccessUserRoleDetail(ecRole); userRoleDetailList.add(userRoleDetail); } } @@ -216,47 +218,31 @@ public class UserApiServiceImpl implements UserApiService { App app) { Set userApps = new TreeSet(); for (ExternalAccessUserRoleDetail userRoleDetail : userRoleDetailList) { - ExternalRoleDescription roleDesc = userRoleDetail.getDescription(); + ExternalAccessRole ecRole = userRoleDetail.getRole(); + ExternalAccessRoleDescription roleDesc = ecRole.getDescription(); UserApp userApp = new UserApp(); Role role = new Role(); Set roleFunctions = new TreeSet<>(); - if (roleDesc != null) { - if (roleDesc.getName() == null) { - role.setActive(true); - role.setName(userRoleDetail.getName()); - } else { - role.setActive(Boolean.valueOf(roleDesc.getActive())); - role.setId(Long.valueOf(roleDesc.getAppRoleId())); - role.setName(roleDesc.getName()); - if (!roleDesc.getPriority().equals(EcompExternalAuthUtils.EXT_NULL_VALUE)) { - role.setPriority(Integer.valueOf(roleDesc.getPriority())); - } + if (roleDesc.getName() == null) { + role.setActive(true); + role.setName(ecRole.getName()); + } else { + role.setActive(Boolean.valueOf(roleDesc.getActive())); + role.setId(Long.valueOf(roleDesc.getAppRoleId())); + role.setName(roleDesc.getName()); + if (!roleDesc.getPriority().equals(EcompExternalAuthUtils.EXT_NULL_VALUE)) { + role.setPriority(Integer.valueOf(roleDesc.getPriority())); } - if (roleDesc.getPermissions() != null) { - for (ExternalAccessPerms extPerm : roleDesc.getPermissions()) { - RoleFunction roleFunction = new RoleFunction(); - roleFunction.setCode(extPerm.getInstance()); - roleFunction.setAction(extPerm.getAction()); - if (extPerm.getDescription() != null - && EcompExternalAuthUtils.checkNameSpaceMatching(extPerm.getType(), namespace)) { - roleFunction.setName(extPerm.getDescription()); - } else if (extPerm.getDescription() == null - && EcompExternalAuthUtils.checkNameSpaceMatching(extPerm.getType(), namespace)) { - roleFunction.setName(extPerm.getType().substring(namespace.length() + 1) + "|" - + extPerm.getInstance() + "|" + extPerm.getAction()); - } else if (extPerm.getDescription() == null - && !EcompExternalAuthUtils.checkNameSpaceMatching(extPerm.getType(), namespace)) { - roleFunction.setName( - extPerm.getType() + "|" + extPerm.getInstance() + "|" + extPerm.getAction()); - } - if (EcompExternalAuthUtils.checkNameSpaceMatching(extPerm.getType(), namespace)) { - roleFunction.setType(extPerm.getType().substring(namespace.length() + 1)); - } else { - roleFunction.setType(extPerm.getType()); - } - roleFunctions.add(roleFunction); - } + } + for (ExternalAccessPerms extPerm : ecRole.getPerms()) { + RoleFunction roleFunction = new RoleFunction(); + roleFunction.setCode(extPerm.getInstance()); + roleFunction.setAction(extPerm.getAction()); + if (extPerm.getDescription() != null) { + roleFunction.setName(extPerm.getDescription()); } + roleFunction.setType(extPerm.getType()); + roleFunctions.add(roleFunction); } role.setRoleFunctions(roleFunctions); userApp.setApp(app); @@ -336,22 +322,10 @@ public class UserApiServiceImpl implements UserApiService { RoleFunction roleFunction = new RoleFunction(); roleFunction.setCode(extPerm.getInstance()); roleFunction.setAction(extPerm.getAction()); - if (extPerm.getDescription() != null - && EcompExternalAuthUtils.checkNameSpaceMatching(extPerm.getType(), namespace)) { + if (extPerm.getDescription() != null) { roleFunction.setName(extPerm.getDescription()); - } else if (extPerm.getDescription() == null - && EcompExternalAuthUtils.checkNameSpaceMatching(extPerm.getType(), namespace)) { - roleFunction.setName(extPerm.getType().substring(namespace.length() + 1) + "|" + extPerm.getInstance() - + "|" + extPerm.getAction()); - } else if (extPerm.getDescription() == null - && !EcompExternalAuthUtils.checkNameSpaceMatching(extPerm.getType(), namespace)) { - roleFunction.setName(extPerm.getType() + "|" + extPerm.getInstance() + "|" + extPerm.getAction()); - } - if (EcompExternalAuthUtils.checkNameSpaceMatching(extPerm.getType(), namespace)) { - roleFunction.setType(extPerm.getType().substring(namespace.length() + 1)); - } else { - roleFunction.setType(extPerm.getType()); } + roleFunction.setType(extPerm.getType()); roleFunctions.add(roleFunction); } return roleFunctions; @@ -377,9 +351,9 @@ public class UserApiServiceImpl implements UserApiService { HttpEntity entity = new HttpEntity<>(credentials.toString(), headers); logger.debug(EELFLoggerDelegate.debugLogger, "checkUserExists: Connecting to external auth system for user {}", username); - ResponseEntity getResponse = template.exchange(EcompExternalAuthProperties - .getProperty(EcompExternalAuthProperties.EXTERNAL_AUTH_URL) - + EXTERNAL_AUTH_POST_CREDENTIALS_ENDPOINT, HttpMethod.POST, entity, String.class); + ResponseEntity getResponse = template + .exchange(EcompExternalAuthProperties.getProperty(EcompExternalAuthProperties.EXTERNAL_AUTH_URL) + + EXTERNAL_AUTH_POST_CREDENTIALS_ENDPOINT, HttpMethod.POST, entity, String.class); if (getResponse.getStatusCode().value() == 200) { logger.debug(EELFLoggerDelegate.debugLogger, "checkUserExists: Finished POST from external auth system to validate credentials and status: {}", @@ -390,8 +364,8 @@ public class UserApiServiceImpl implements UserApiService { private String changeIfUserDomainNotAppended(String username) { if (!EcompExternalAuthUtils.validate(username)) { - username = username + EcompExternalAuthProperties - .getProperty(EcompExternalAuthProperties.EXTERNAL_AUTH_USER_DOMAIN); + username = username + + EcompExternalAuthProperties.getProperty(EcompExternalAuthProperties.EXTERNAL_AUTH_USER_DOMAIN); } return username; } diff --git a/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRoleDescriptionTest.java b/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRoleDescriptionTest.java new file mode 100644 index 00000000..9e7970b2 --- /dev/null +++ b/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRoleDescriptionTest.java @@ -0,0 +1,74 @@ +/*- + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.external.authorization.domain; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; + +public class ExternalAccessRoleDescriptionTest { + + public ExternalAccessRoleDescription mockExternalRoleDescriptionTest() { + ExternalAccessRoleDescription mockExtRoleDesc = new ExternalAccessRoleDescription(); + mockExtRoleDesc.setActive("true"); + mockExtRoleDesc.setAppRoleId("1"); + mockExtRoleDesc.setAppId("1"); + mockExtRoleDesc.setId("1"); + mockExtRoleDesc.setName("test"); + mockExtRoleDesc.setPriority("1"); + return mockExtRoleDesc; + } + + @Test + public void externalRoleDescriptionTest() { + ExternalAccessRoleDescription extRoleDesc = new ExternalAccessRoleDescription(); + extRoleDesc.setActive("true"); + extRoleDesc.setAppRoleId("1"); + extRoleDesc.setAppId("1"); + extRoleDesc.setId("1"); + extRoleDesc.setName("test"); + extRoleDesc.setPriority("1"); + assertEquals(extRoleDesc.getActive(), mockExternalRoleDescriptionTest().getActive()); + assertEquals(extRoleDesc.getAppId(), mockExternalRoleDescriptionTest().getAppId()); + assertEquals(extRoleDesc.getAppRoleId(), mockExternalRoleDescriptionTest().getAppRoleId()); + assertEquals(extRoleDesc.getId(), mockExternalRoleDescriptionTest().getId()); + assertEquals(extRoleDesc.getName(), mockExternalRoleDescriptionTest().getName()); + assertEquals(extRoleDesc.getPriority(), mockExternalRoleDescriptionTest().getPriority()); + assertEquals(true, extRoleDesc.equals(mockExternalRoleDescriptionTest())); + } +} diff --git a/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRolePermsTest.java b/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRolePermsTest.java deleted file mode 100644 index acb14c65..00000000 --- a/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRolePermsTest.java +++ /dev/null @@ -1,68 +0,0 @@ -/*- - * ============LICENSE_START========================================== - * ONAP Portal SDK - * =================================================================== - * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. - * =================================================================== - * - * Unless otherwise specified, all software contained herein is licensed - * under the Apache License, Version 2.0 (the "License"); - * you may not use this software except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Unless otherwise specified, all documentation contained herein is licensed - * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); - * you may not use this documentation except in compliance with the License. - * You may obtain a copy of the License at - * - * https://creativecommons.org/licenses/by/4.0/ - * - * Unless required by applicable law or agreed to in writing, documentation - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ============LICENSE_END============================================ - * - * - */ -package org.onap.portalsdk.external.authorization.domain; - -import static org.junit.Assert.assertEquals; - -import org.junit.Test; - -public class ExternalAccessRolePermsTest { - - public ExternalAccessRolePerms mockExternalAccessRolePermsTest() { - ExternalAccessPerms mockPerm = new ExternalAccessPerms(); - mockPerm.setAction("*"); - mockPerm.setDescription("test_name"); - mockPerm.setType("test_type"); - mockPerm.setInstance("test_instance"); - ExternalAccessRolePerms mockExtRolePermsTest = new ExternalAccessRolePerms(mockPerm, "test_role"); - return mockExtRolePermsTest; - } - - @Test - public void externalAccessRolePermsTest() { - ExternalAccessPerms perm = new ExternalAccessPerms(); - perm.setAction("*"); - perm.setDescription("test_name"); - perm.setType("test_type"); - perm.setInstance("test_instance"); - ExternalAccessRolePerms mockExtRolePermsTest = new ExternalAccessRolePerms(perm, "test_role"); - assertEquals(mockExtRolePermsTest.getRole(), mockExternalAccessRolePermsTest().getRole()); - assertEquals(mockExtRolePermsTest.getPerm(), mockExternalAccessRolePermsTest().getPerm()); - } - -} diff --git a/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRoleTest.java b/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRoleTest.java index aa498aa0..3fc5ae86 100644 --- a/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRoleTest.java +++ b/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessRoleTest.java @@ -39,21 +39,36 @@ package org.onap.portalsdk.external.authorization.domain; import static org.junit.Assert.assertEquals; +import java.util.ArrayList; +import java.util.List; + import org.junit.Test; public class ExternalAccessRoleTest { public ExternalAccessRole mockExternalAccessRoleTest() { ExternalAccessRole mockRole = new ExternalAccessRole(); + ExternalAccessRoleDescription roleDesc = new ExternalAccessRoleDescription(); + ExternalAccessPerms ecPerm = new ExternalAccessPerms(); + List ecPerms = new ArrayList<>(); + ecPerm.setAction("test_action"); + ecPerm.setType("test_type"); + ecPerm.setInstance("test_instance"); + ecPerm.setDescription("test_description"); + roleDesc.setActive("true"); + roleDesc.setAppId("1"); mockRole.setName("test_role"); - mockRole.setDescription("test_role_description"); + mockRole.setPerms(ecPerms); + mockRole.setDescription(roleDesc); return mockRole; } @Test public void externalAccessRolePermsTest() { - ExternalAccessRole role = new ExternalAccessRole("test_role", "test_role_description"); + ExternalAccessRole mockRole = mockExternalAccessRoleTest(); + ExternalAccessRole role = new ExternalAccessRole(mockRole.getName(), mockRole.getPerms(), mockRole.getDescription()); assertEquals(role.getName(), mockExternalAccessRoleTest().getName()); + assertEquals(role.getPerms(), mockExternalAccessRoleTest().getPerms()); assertEquals(role.getDescription(), mockExternalAccessRoleTest().getDescription()); } } diff --git a/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessUserRoleDetailTest.java b/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessUserRoleDetailTest.java index 5e750543..9d20e02c 100644 --- a/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessUserRoleDetailTest.java +++ b/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalAccessUserRoleDetailTest.java @@ -47,6 +47,7 @@ import org.junit.Test; public class ExternalAccessUserRoleDetailTest { public ExternalAccessUserRoleDetail mockExternalAccessUserRoleDetailTest() { + ExternalAccessRole role = new ExternalAccessRole(); List mockPerms = new ArrayList<>(); ExternalAccessPerms mockExtPermsTest = new ExternalAccessPerms(); mockExtPermsTest.setAction("*"); @@ -54,46 +55,27 @@ public class ExternalAccessUserRoleDetailTest { mockExtPermsTest.setType("test_type"); mockExtPermsTest.setInstance("test_instance"); mockPerms.add(mockExtPermsTest); - ExternalRoleDescription mockRoleDesc = new ExternalRoleDescription(); + ExternalAccessRoleDescription mockRoleDesc = new ExternalAccessRoleDescription(); mockRoleDesc.setActive("true"); mockRoleDesc.setAppId("1"); mockRoleDesc.setAppRoleId("1"); mockRoleDesc.setId("1"); mockRoleDesc.setPriority("1"); mockRoleDesc.setName("test"); - mockRoleDesc.setPermissions(mockPerms); - ExternalAccessUserRoleDetail mockExtUserRoleDetailTest = new ExternalAccessUserRoleDetail(); - mockExtUserRoleDetailTest.setName("test"); - mockExtUserRoleDetailTest.setDescription(mockRoleDesc); + mockRoleDesc.setName("com.test.app.rolename"); + role.setPerms(mockPerms); + role.setDescription(mockRoleDesc); + ExternalAccessUserRoleDetail mockExtUserRoleDetailTest = new ExternalAccessUserRoleDetail(role); return mockExtUserRoleDetailTest; } @Test public void externalAccessPermsTest() { - List perms = new ArrayList<>(); - ExternalAccessPerms extPermsTest = new ExternalAccessPerms(); - extPermsTest.setAction("*"); - extPermsTest.setDescription("test_name"); - extPermsTest.setType("test_type"); - extPermsTest.setInstance("test_instance"); - perms.add(extPermsTest); - ExternalRoleDescription roleDesc = new ExternalRoleDescription(); - roleDesc.setActive("true"); - roleDesc.setAppId("1"); - roleDesc.setAppRoleId("1"); - roleDesc.setId("1"); - roleDesc.setPriority("1"); - roleDesc.setName("test"); - roleDesc.setPermissions(perms); - ExternalAccessUserRoleDetail extUserRoleDetailTest = new ExternalAccessUserRoleDetail(); - extUserRoleDetailTest.setName("test"); - extUserRoleDetailTest.setDescription(roleDesc); - ExternalAccessUserRoleDetail extUserRoleDetailTest2 = new ExternalAccessUserRoleDetail("test", roleDesc); - assertEquals(extUserRoleDetailTest.getName(), mockExternalAccessUserRoleDetailTest().getName()); - assertEquals(extUserRoleDetailTest.getDescription(), mockExternalAccessUserRoleDetailTest().getDescription()); - assertEquals(extUserRoleDetailTest2.getName(), mockExternalAccessUserRoleDetailTest().getName()); - assertEquals(extUserRoleDetailTest2.getDescription(), mockExternalAccessUserRoleDetailTest().getDescription()); - assertEquals(true, new ExternalAccessUserRoleDetail("test",roleDesc) - .equals(new ExternalAccessUserRoleDetail("test",roleDesc))); + ExternalAccessUserRoleDetail extUserRoleDetailTest2 = mockExternalAccessUserRoleDetailTest(); + ExternalAccessRole role = extUserRoleDetailTest2.getRole(); + assertEquals(role.getName(), mockExternalAccessUserRoleDetailTest().getRole().getName()); + assertEquals(role.getPerms(), mockExternalAccessUserRoleDetailTest().getRole().getPerms()); + assertEquals(role.getDescription(), mockExternalAccessUserRoleDetailTest().getRole().getDescription()); + } } diff --git a/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalRoleDescriptionTest.java b/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalRoleDescriptionTest.java deleted file mode 100644 index 251f8303..00000000 --- a/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/domain/ExternalRoleDescriptionTest.java +++ /dev/null @@ -1,94 +0,0 @@ -/*- - * ============LICENSE_START========================================== - * ONAP Portal SDK - * =================================================================== - * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. - * =================================================================== - * - * Unless otherwise specified, all software contained herein is licensed - * under the Apache License, Version 2.0 (the "License"); - * you may not use this software except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Unless otherwise specified, all documentation contained herein is licensed - * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); - * you may not use this documentation except in compliance with the License. - * You may obtain a copy of the License at - * - * https://creativecommons.org/licenses/by/4.0/ - * - * Unless required by applicable law or agreed to in writing, documentation - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ============LICENSE_END============================================ - * - * - */ -package org.onap.portalsdk.external.authorization.domain; - -import static org.junit.Assert.assertEquals; - -import java.util.ArrayList; -import java.util.List; - -import org.junit.Test; - -public class ExternalRoleDescriptionTest { - - public ExternalRoleDescription mockExternalRoleDescriptionTest() { - List mockPerms = new ArrayList<>(); - ExternalAccessPerms mockExtPermsTest = new ExternalAccessPerms(); - mockExtPermsTest.setAction("*"); - mockExtPermsTest.setDescription("test_name"); - mockExtPermsTest.setType("test_type"); - mockExtPermsTest.setInstance("test_instance"); - mockPerms.add(mockExtPermsTest); - ExternalRoleDescription mockExtRoleDesc = new ExternalRoleDescription(); - mockExtRoleDesc.setActive("true"); - mockExtRoleDesc.setAppRoleId("1"); - mockExtRoleDesc.setAppId("1"); - mockExtRoleDesc.setId("1"); - mockExtRoleDesc.setName("test"); - mockExtRoleDesc.setPermissions(mockPerms); - mockExtRoleDesc.setPriority("1"); - return mockExtRoleDesc; - } - - @Test - public void externalRoleDescriptionTest() { - List perms = new ArrayList<>(); - ExternalAccessPerms extPermsTest = new ExternalAccessPerms(); - extPermsTest.setAction("*"); - extPermsTest.setDescription("test_name"); - extPermsTest.setType("test_type"); - extPermsTest.setInstance("test_instance"); - perms.add(extPermsTest); - ExternalRoleDescription extRoleDesc = new ExternalRoleDescription(); - extRoleDesc.setActive("true"); - extRoleDesc.setAppRoleId("1"); - extRoleDesc.setAppId("1"); - extRoleDesc.setId("1"); - extRoleDesc.setName("test"); - extRoleDesc.setPermissions(perms); - extRoleDesc.setPriority("1"); - assertEquals(extRoleDesc.getActive(), mockExternalRoleDescriptionTest().getActive()); - assertEquals(extRoleDesc.getAppId(), mockExternalRoleDescriptionTest().getAppId()); - assertEquals(extRoleDesc.getAppRoleId(), mockExternalRoleDescriptionTest().getAppRoleId()); - assertEquals(extRoleDesc.getId(), mockExternalRoleDescriptionTest().getId()); - assertEquals(extRoleDesc.getName(), mockExternalRoleDescriptionTest().getName()); - assertEquals(extRoleDesc.getPriority(), mockExternalRoleDescriptionTest().getPriority()); - assertEquals(extRoleDesc.getPermissions(), mockExternalRoleDescriptionTest().getPermissions()); - assertEquals(true, extRoleDesc.equals(mockExternalRoleDescriptionTest())); - } -} diff --git a/ecomp-sdk/epsdk-app-common/src/test/java/org/onap/portalapp/service/OnBoardingApiServiceImplTest.java b/ecomp-sdk/epsdk-app-common/src/test/java/org/onap/portalapp/service/OnBoardingApiServiceImplTest.java index 6ddcbcfb..989394d6 100644 --- a/ecomp-sdk/epsdk-app-common/src/test/java/org/onap/portalapp/service/OnBoardingApiServiceImplTest.java +++ b/ecomp-sdk/epsdk-app-common/src/test/java/org/onap/portalapp/service/OnBoardingApiServiceImplTest.java @@ -2,7 +2,7 @@ * ============LICENSE_START========================================== * ONAP Portal SDK * =================================================================== - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. * =================================================================== * * Unless otherwise specified, all software contained herein is licensed @@ -264,6 +264,8 @@ public class OnBoardingApiServiceImplTest { @Test public void pushUserRoleTest() throws Exception { String loginId = "123"; + App app = new App(); + app.setId(1l); List rolesJson = new ArrayList<>(); EcompRole role1 = new EcompRole(); role1.setId(123L); @@ -274,12 +276,13 @@ public class OnBoardingApiServiceImplTest { Role role = new Role(); role.setId(123L); userApp.setRole(role); + userApp.setApp(app); UserApp userApp2 = new UserApp(); Role role2 = new Role(); role2.setId(124L); userApp2.setRole(role2); - + userApp2.setApp(app); userApps.add(userApp); userApps.add(userApp2); User user = new User(); @@ -292,9 +295,10 @@ public class OnBoardingApiServiceImplTest { Assert.assertTrue(true); } - @Test(expected = PortalAPIException.class) + @Test public void pushUserRoleExceptionTest() throws Exception { String loginId = "123"; + App app = new App(); List rolesJson = new ArrayList<>(); EcompRole role1 = new EcompRole(); role1.setId(123L); @@ -304,7 +308,8 @@ public class OnBoardingApiServiceImplTest { UserApp userApp = new UserApp(); Role role = new Role(); role.setId(123L); - + userApp.setApp(app); + userApp.setRole(role); userApps.add(userApp); User user = new User(); user.setUserApps(userApps); diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/UserApp.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/UserApp.java index 4eebb02f..aff5b1f1 100644 --- a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/UserApp.java +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/UserApp.java @@ -2,7 +2,7 @@ * ============LICENSE_START========================================== * ONAP Portal SDK * =================================================================== - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. * =================================================================== * * Unless otherwise specified, all software contained herein is licensed @@ -91,33 +91,26 @@ public class UserApp implements java.io.Serializable, Comparable { return (this.getUserId().equals(castOther.getUserId())) && (this.getApp().getId().equals(castOther.getApp().getId())) - && (this.getRole().getId().equals(castOther.getRole().getId())) + && (this.getRole().getId() != null ? this.getRole().getId().equals(castOther.getRole().getId()) : this.getRole().getName().equals(castOther.getRole().getName())) && ((this.priority == null && castOther.getPriority() == null) || this.getPriority().equals(castOther.getPriority())); } @Override public int hashCode() { - int result = 17; - result = 37 * result + (int) (this.getUserId() == null ? 0 : this.getUserId().intValue()); - result = 37 * result + (int) (this.getApp().getId() == null ? 0 : this.getApp().getId().intValue()); - result = 37 * result + (int) (this.getRole().getId() == null ? 0 : this.getRole().getId().intValue()); + Long result = 17l; + result = 37 * result + (int) (this.getUserId() == null ? 0 : this.getUserId().hashCode()); + result = 37 * result + (int) (this.getApp().getId() == null ? 0 : this.getApp().getId().hashCode()); + result = 37 * result + (int) (this.getRole().getId() == null ? (this.getRole().getName() == null ? 0 : this.getRole().getName().hashCode() ) : this.getRole().getId().hashCode()); result = 37 * result + (int) (this.priority == null ? 0 : this.priority); - return result; + return Long.hashCode(result); } @Override public int compareTo(Object other) { UserApp castOther = (UserApp) other; - Long c1 = (this.getUserId() == null ? 0 : this.getUserId()) - + (this.getApp() == null || this.getApp().getId() == null ? 0 : this.getApp().getId()) - + (this.getRole() == null || this.getRole().getId() == null ? 0 : this.getRole().getId()) - + (this.priority == null ? 0 : this.priority); - Long c2 = (castOther.getUserId() == null ? 0 : castOther.getUserId()) - + (castOther.getApp() == null || castOther.getApp().getId() == null ? 0 : castOther.getApp().getId()) - + (castOther.getRole() == null || castOther.getRole().getId() == null ? 0 : castOther.getRole().getId()) - + (castOther.priority == null ? 0 : castOther.priority); - return c1.compareTo(c2); + int c1 = this.hashCode() - castOther.hashCode(); + return c1; } } diff --git a/ecomp-sdk/epsdk-domain/src/test/java/org/onap/portalsdk/core/domain/UserAppTest.java b/ecomp-sdk/epsdk-domain/src/test/java/org/onap/portalsdk/core/domain/UserAppTest.java index 2433d93b..288b5a21 100644 --- a/ecomp-sdk/epsdk-domain/src/test/java/org/onap/portalsdk/core/domain/UserAppTest.java +++ b/ecomp-sdk/epsdk-domain/src/test/java/org/onap/portalsdk/core/domain/UserAppTest.java @@ -2,7 +2,7 @@ * ============LICENSE_START========================================== * ONAP Portal SDK * =================================================================== - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. * =================================================================== * * Unless otherwise specified, all software contained herein is licensed @@ -66,7 +66,7 @@ public class UserAppTest { UserApp userapp2 = mockUserApp(); userapp2.setUserId((long) 2); assertNull(userapp1.getPriority()); - assertEquals(userapp2.compareTo(userapp1), 1); + assertEquals(userapp2.compareTo(userapp1), 50653); assertNotNull(userapp1.hashCode()); userapp2.setUserId((long) 1); assertTrue(userapp1.equals(userapp2)); diff --git a/ecomp-sdk/epsdk-domain/src/test/java/org/onap/portalsdk/core/domain/UserTest.java b/ecomp-sdk/epsdk-domain/src/test/java/org/onap/portalsdk/core/domain/UserTest.java index 598ee900..b4fb2ced 100644 --- a/ecomp-sdk/epsdk-domain/src/test/java/org/onap/portalsdk/core/domain/UserTest.java +++ b/ecomp-sdk/epsdk-domain/src/test/java/org/onap/portalsdk/core/domain/UserTest.java @@ -2,7 +2,7 @@ * ============LICENSE_START========================================== * ONAP Portal SDK * =================================================================== - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. * =================================================================== * * Unless otherwise specified, all software contained herein is licensed @@ -37,17 +37,15 @@ */ package org.onap.portalsdk.core.domain; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; import org.junit.Test; -import org.onap.portalsdk.core.domain.App; -import org.onap.portalsdk.core.domain.Role; -import org.onap.portalsdk.core.domain.User; -import org.onap.portalsdk.core.domain.UserApp; public class UserTest { @@ -165,8 +163,14 @@ public class UserTest { public void addAppRolesIfRolesNullTest() { User user = mockUser(); + App appTest = new App(); + appTest.setId(1l); + SortedSet roles = new TreeSet<>(); Set userApps = new TreeSet(); UserApp userapp = new UserApp(); + userapp.setApp(appTest); + userapp.setRole(new Role()); + user.setRoles(roles); userApps.add(userapp); user.setUserApps(userApps); user.setUserApps(userApps); @@ -195,11 +199,15 @@ public class UserTest { User user = mockUser(); Set userApps = new TreeSet(); UserApp userapp = new UserApp(); + App app = new App(); + app.setId(1l); SortedSet roles = new TreeSet(); Role role = new Role(); role.setId((long) 1); + role.setName("test"); roles.add(role); userapp.setRole(role); + userapp.setApp(app); userApps.add(userapp); user.setUserApps(userApps); user.removeRole((long) 1); -- cgit 1.2.3-korg