From 7246eabfd23d6cadc9f658f666df62b93f30ed70 Mon Sep 17 00:00:00 2001 From: st782s Date: Tue, 20 Nov 2018 07:31:32 -0500 Subject: CADI Integration Issue-ID: PORTAL-474 System to system authorization using CADI Change-Id: I76487f8155a36fca8283669fe5e28ec7d5aec91d Signed-off-by: st782s --- .../service/UserApiServiceImplTest.java | 353 --------------------- 1 file changed, 353 deletions(-) delete mode 100644 ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/service/UserApiServiceImplTest.java (limited to 'ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/service/UserApiServiceImplTest.java') diff --git a/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/service/UserApiServiceImplTest.java b/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/service/UserApiServiceImplTest.java deleted file mode 100644 index 9836c5f1..00000000 --- a/ecomp-sdk/epsdk-aaf/src/test/java/org/onap/portalsdk/external/authorization/service/UserApiServiceImplTest.java +++ /dev/null @@ -1,353 +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.service; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; - -import java.util.ArrayList; -import java.util.Date; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.TreeSet; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.json.JSONObject; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.InjectMocks; -import org.mockito.Matchers; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; -import org.onap.portalsdk.core.command.PostSearchBean; -import org.onap.portalsdk.core.command.support.SearchResult; -import org.onap.portalsdk.core.domain.App; -import org.onap.portalsdk.core.domain.Role; -import org.onap.portalsdk.core.domain.RoleFunction; -import org.onap.portalsdk.core.domain.User; -import org.onap.portalsdk.core.domain.UserApp; -import org.onap.portalsdk.core.service.AppService; -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.core.util.SystemProperties; -import org.onap.portalsdk.external.authorization.util.EcompExternalAuthProperties; -import org.onap.portalsdk.external.authorization.util.EcompExternalAuthUtils; -import org.onap.portalsdk.external.framework.MockitoTestSuite; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpMethod; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.client.HttpClientErrorException; -import org.springframework.web.client.RestTemplate; - -import com.fasterxml.jackson.databind.ObjectMapper; - -@SuppressWarnings({ "rawtypes", "unchecked" }) -@RunWith(PowerMockRunner.class) -@PrepareForTest({ EcompExternalAuthProperties.class, EcompExternalAuthUtils.class }) -public class UserApiServiceImplTest { - - private static final String APP_ID = "appId"; - - private static final String PRIORITY = "priority"; - - private static final String ACTIVE = "active"; - - private static final String ROLE_NAME = "name"; - - private static final String APP_ROLE_ID = "appRoleId"; - - private static final String ID = "id"; - - @InjectMocks - private UserApiServiceImpl UserApiServiceImpl; - - @Mock - private DataAccessService dataAccessService; - - @Mock - private LoginExternalAuthService loginAAFService; - - @Mock - private LdapService ldapService; - - @Mock - private PostSearchService postSearchService; - - @Mock - private AppService appService; - - @Mock - RestTemplate template = new RestTemplate(); - - @Before - public void setup() throws Exception { - PowerMockito.mockStatic(EcompExternalAuthProperties.class); - PowerMockito.mockStatic(EcompExternalAuthUtils.class); - PowerMockito.mockStatic(SystemProperties.class); - Mockito.when(EcompExternalAuthProperties.getProperty(EcompExternalAuthProperties.EXTERNAL_AUTH_NAMESPACE)) - .thenReturn("com.test.app2"); - Mockito.when(EcompExternalAuthUtils.base64encodeKeyForAAFBasicAuth(Matchers.anyString(), Matchers.anyString())).thenReturn(new HttpHeaders()); - Mockito.when(EcompExternalAuthProperties.getProperty(EcompExternalAuthProperties.EXTERNAL_AUTH_USER_DOMAIN)) - .thenReturn("@test.com"); - MockitoAnnotations.initMocks(this); - } - - MockitoTestSuite mockitoTestSuite = new MockitoTestSuite(); - - HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest(); - HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse(); - - private User userObj() { - User user = new User(); - user.setEmail("test@mail.com"); - user.setFirstName("Test_firstname"); - user.setHrid("test_hrid"); - user.setJobTitle("test_jobtitle"); - user.setLastName("test_lastname"); - user.setLoginId("test123"); - user.setOrgManagerUserId("test456"); - user.setMiddleInitial("test_middlename"); - user.setOrgCode("testcode"); - user.setOrgId(1l); - user.setOrgUserId("test123"); - user.setActive(true); - user.setLastLoginDate(new Date()); - RoleFunction roleFunction = new RoleFunction(); - roleFunction.setId(12L); - roleFunction.setName("Role Function"); - - Set roleFunctions = new TreeSet(); - roleFunctions.add(roleFunction); - - Role role = new Role(); - role.setName("Role"); - role.setActive(true); - role.setRoleFunctions(roleFunctions); - Set userApps = new TreeSet(); - UserApp userApp = new UserApp(); - userApp.setUserId(1L); - userApp.setApp(getApp()); - userApp.setRole(role); - userApps.add(userApp); - user.setUserApps(userApps); - return user; - } - - public App getApp() { - App app = new App(); - app.setId(new Long(1)); - app.setName("Default"); - return app; - } - - @Test - public void getUserTest() throws Exception { - ObjectMapper mapper = new ObjectMapper(); - Map roleDesc = new LinkedHashMap<>(); - roleDesc.put(ID, "1"); - roleDesc.put(ROLE_NAME, "test_role"); - roleDesc.put(ACTIVE, String.valueOf(true)); - roleDesc.put(PRIORITY, String.valueOf(1)); - roleDesc.put(APP_ID, String.valueOf(1)); - roleDesc.put(APP_ROLE_ID, String.valueOf(1l)); - String addDesc = mapper.writeValueAsString(roleDesc); - JSONObject mockJsonObjectRole = new JSONObject(); - JSONObject mockJsonObjectRole2 = new JSONObject(); - JSONObject mockJsonObjectRole3 = new JSONObject(); - JSONObject mockJsonObjectRole4 = new JSONObject(); - JSONObject mockJsonObjectRole5 = new JSONObject(); - JSONObject mockJsonObjectPerm1 = new JSONObject(); - JSONObject mockJsonObjectPerm2 = new JSONObject(); - mockJsonObjectPerm1.put("type", "com.test.app2.test_type"); - mockJsonObjectPerm1.put("instance", "test_instance"); - mockJsonObjectPerm1.put("action", "*"); - mockJsonObjectPerm2.put("type", "com.test.app.test_type2"); - mockJsonObjectPerm2.put("instance", "test_instance2"); - mockJsonObjectPerm2.put("action", "*"); - List permsList = new ArrayList<>(); - permsList.add(mockJsonObjectPerm1); - permsList.add(mockJsonObjectPerm2); - mockJsonObjectRole.put("name", "com.test.app2.test_role"); - mockJsonObjectRole2.put("name", "com.test.app2.test_role2"); - mockJsonObjectRole2.put("perms", permsList); - mockJsonObjectRole2.put("description", addDesc); - mockJsonObjectRole3.put("name", "com.test.app2.Account_Administrator"); - mockJsonObjectRole4.put("name", "com.test.app2.admin"); - mockJsonObjectRole5.put("name", "com.test.app2.owner"); - List userRolesList = new ArrayList<>(); - JSONObject mockJsonObjectFinalUserRole = new JSONObject(); - userRolesList.add(mockJsonObjectRole); - userRolesList.add(mockJsonObjectRole2); - userRolesList.add(mockJsonObjectRole3); - userRolesList.add(mockJsonObjectRole4); - userRolesList.add(mockJsonObjectRole5); - mockJsonObjectFinalUserRole.put("role", userRolesList); - Mockito.when(EcompExternalAuthUtils.isJSONValid(addDesc)).thenReturn(true); - ResponseEntity response = new ResponseEntity<>(mockJsonObjectFinalUserRole.toString(), HttpStatus.OK); - Mockito.when(template.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.GET), - Matchers.>any(), Matchers.eq(String.class))).thenReturn(response); - Mockito.when(EcompExternalAuthUtils.checkNameSpaceMatching(Matchers.anyString(), Matchers.anyString())) - .thenReturn(true); - Mockito.when(loginAAFService.findUserWithoutPwd("test123")).thenReturn(userObj()); - Mockito.when(appService.getApp(1l)).thenReturn(getApp()); - User actual = UserApiServiceImpl.getUser("test123", mockedRequest); - assertNotNull(actual); - } - - @Test - public void getNewUserNullExceptionTest() throws Exception { - JSONObject mockJsonObjectRole = new JSONObject(); - JSONObject mockJsonObjectRole2 = new JSONObject(); - JSONObject mockJsonObjectRole3 = new JSONObject(); - JSONObject mockJsonObjectPerm1 = new JSONObject(); - JSONObject mockJsonObjectPerm2 = new JSONObject(); - mockJsonObjectPerm1.put("type", "com.test.app2.test_type"); - mockJsonObjectPerm1.put("instance", "test_instance"); - mockJsonObjectPerm1.put("action", "*"); - mockJsonObjectPerm2.put("type", "com.test.app.test_type2"); - mockJsonObjectPerm2.put("instance", "test_instance2"); - mockJsonObjectPerm2.put("action", "*"); - List permsList = new ArrayList<>(); - permsList.add(mockJsonObjectPerm1); - permsList.add(mockJsonObjectPerm2); - mockJsonObjectRole.put("name", "com.test.app2.test_role"); - mockJsonObjectRole2.put("name", "com.test.app2.test_role2"); - mockJsonObjectRole2.put("perms", permsList); - mockJsonObjectRole3.put("name", "com.test.app2.Account_Administrator"); - List userRolesList = new ArrayList<>(); - JSONObject mockJsonObjectFinalUserRole = new JSONObject(); - userRolesList.add(mockJsonObjectRole); - userRolesList.add(mockJsonObjectRole2); - userRolesList.add(mockJsonObjectRole3); - mockJsonObjectFinalUserRole.put("role", userRolesList); - ResponseEntity response = new ResponseEntity<>(mockJsonObjectFinalUserRole.toString(), HttpStatus.OK); - Mockito.when(template.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.GET), - Matchers.>any(), Matchers.eq(String.class))).thenReturn(response); - Mockito.when(EcompExternalAuthUtils.checkNameSpaceMatching(Matchers.anyString(), Matchers.anyString())) - .thenReturn(true); - Mockito.when(loginAAFService.findUserWithoutPwd("test123")).thenReturn(null); - Mockito.when(appService.getApp(1l)).thenReturn(getApp()); - PostSearchBean postSearchBean = new PostSearchBean(); - postSearchBean.setOrgUserId("test123"); - SearchResult result = new SearchResult(); - result.add(userObj()); - Mockito.when(ldapService.searchPost(postSearchBean.getUser(), postSearchBean.getSortBy1(), - postSearchBean.getSortBy2(), postSearchBean.getSortBy3(), postSearchBean.getPageNo(), - postSearchBean.getNewDataSize(), 1)).thenReturn(result); - User user = UserApiServiceImpl.getUser("test123", mockedRequest); - assertNull(user); - } - - @Test - public void getRoleFunctionsTest() throws Exception { - JSONObject mockJsonObjectPerms = mockUserPerms(); - ResponseEntity response = new ResponseEntity<>(mockJsonObjectPerms.toString(), HttpStatus.OK); - Mockito.when(template.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.GET), - Matchers.>any(), Matchers.eq(String.class))).thenReturn(response); - List actual = UserApiServiceImpl.getRoleFunctions("test123"); - assertNotNull(actual); - } - - private JSONObject mockUserPerms() { - JSONObject mockJsonObjectPerms = new JSONObject(); - JSONObject mockJsonObjectPerm1 = new JSONObject(); - JSONObject mockJsonObjectPerm2 = new JSONObject(); - JSONObject mockJsonObjectPerm3 = new JSONObject(); - mockJsonObjectPerm1.put("type", "com.test.app2.test_type"); - mockJsonObjectPerm1.put("instance", "test_instance"); - mockJsonObjectPerm1.put("action", "*"); - mockJsonObjectPerm2.put("type", "com.test.app2.test_type2"); - mockJsonObjectPerm2.put("instance", "test_instance2"); - mockJsonObjectPerm2.put("action", "*"); - mockJsonObjectPerm2.put("description", "test_name"); - mockJsonObjectPerm3.put("type", "com.test.app3.test_type3"); - mockJsonObjectPerm3.put("instance", "test_instance3"); - mockJsonObjectPerm3.put("action", "*"); - List permsList = new ArrayList<>(); - permsList.add(mockJsonObjectPerm1); - permsList.add(mockJsonObjectPerm2); - mockJsonObjectPerms.put("perm", permsList); - return mockJsonObjectPerms; - } - - @Test - public void checkUserExistsTest() throws Exception { - ResponseEntity response = new ResponseEntity<>(HttpStatus.OK); - Mockito.when(template.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.POST), - Matchers.>any(), Matchers.eq(String.class))).thenReturn(response); - ResponseEntity actual = UserApiServiceImpl.checkUserExists("test", "test"); - assertNotNull(actual); - } - - @Test(expected = HttpClientErrorException.class) - public void checkUserExistsExceptionTest() throws Exception { - Mockito.when(template.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.POST), - Matchers.>any(), Matchers.eq(String.class))).thenThrow(new HttpClientErrorException(HttpStatus.UNAUTHORIZED)); - UserApiServiceImpl.checkUserExists("test", "test"); - } - - @Test - public void getIfUserPermsExistsTest() throws Exception { - JSONObject mockJsonObjectPerms = mockUserPerms(); - ResponseEntity response = new ResponseEntity<>(mockJsonObjectPerms.toString(), HttpStatus.OK); - Mockito.when(template.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.GET), - Matchers.>any(), Matchers.eq(String.class))).thenReturn(response); - UserApiServiceImpl.getIfUserPermsExists("test123@test.com"); - } - - @Test(expected = HttpClientErrorException.class) - public void getIfUserPermsExistsInvalidUserTest() throws Exception { - Mockito.when(template.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.GET), - Matchers.>any(), Matchers.eq(String.class))).thenThrow(new HttpClientErrorException(HttpStatus.UNAUTHORIZED)); - UserApiServiceImpl.getIfUserPermsExists("test1"); - } - -} -- cgit 1.2.3-korg