X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ecomp-portal-BE-common%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fportalapp%2Fportal%2Fcontroller%2FExternalAccessRolesControllerTest.java;h=3d30f9f55683abc14553d8ed92bc2d46167878fa;hb=31e135a9ffb7e20fa146f841c5e3a2782f8131a5;hp=ecfd88f5090f7e03fe4c942d0b8919b3d282869f;hpb=229ae9fdd468bec4da29218688c090873cfab907;p=portal.git diff --git a/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/controller/ExternalAccessRolesControllerTest.java b/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/controller/ExternalAccessRolesControllerTest.java index ecfd88f5..3d30f9f5 100644 --- a/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/controller/ExternalAccessRolesControllerTest.java +++ b/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/controller/ExternalAccessRolesControllerTest.java @@ -2,7 +2,7 @@ * ============LICENSE_START========================================== * ONAP Portal * =================================================================== - * 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 @@ -33,11 +33,10 @@ * * ============LICENSE_END============================================ * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * */ package org.onap.portalapp.portal.controller; - import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; @@ -51,6 +50,7 @@ import java.util.Map; 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; @@ -68,10 +68,7 @@ import org.onap.portalapp.portal.ecomp.model.PortalRestStatusEnum; import org.onap.portalapp.portal.framework.MockitoTestSuite; import org.onap.portalapp.portal.service.ExternalAccessRolesService; import org.onap.portalapp.portal.service.ExternalAccessRolesServiceImpl; -import org.onap.portalapp.portal.transport.CentralRole; -import org.onap.portalapp.portal.transport.CentralRoleFunction; -import org.onap.portalapp.portal.transport.CentralV2Role; -import org.onap.portalapp.portal.transport.ExternalRequestFieldsValidator; +import org.onap.portalapp.portal.transport.*; import org.onap.portalapp.portal.utils.EPCommonSystemProperties; import org.onap.portalapp.portal.utils.EcompPortalUtils; import org.onap.portalapp.portal.utils.PortalConstants; @@ -92,68 +89,39 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.client.HttpClientErrorException; import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; @RunWith(PowerMockRunner.class) @PrepareForTest({ EcompPortalUtils.class, PortalConstants.class, SystemProperties.class, EPCommonSystemProperties.class }) public class ExternalAccessRolesControllerTest { - @Mock ExternalAccessRolesService externalAccessRolesService = new ExternalAccessRolesServiceImpl(); - @InjectMocks - ExternalAccessRolesController externalAccessRolesController = new ExternalAccessRolesController(); + ExternalAccessRolesController externalAccessRolesController; @Mock - UserService userservice = new UserServiceCentalizedImpl(); - + UserService userservice = new UserServiceCentalizedImpl(); @Mock - AuditService auditService; + AuditService auditService; @Before public void setup() { MockitoAnnotations.initMocks(this); } + @Mock AuditLog auditLog = new AuditLog(); - MockitoTestSuite mockitoTestSuite = new MockitoTestSuite(); - HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest(); HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse(); NullPointerException nullPointerException = new NullPointerException(); HttpClientErrorException httpClientErrorException = new HttpClientErrorException(HttpStatus.BAD_REQUEST, "Failed"); - MockEPUser mockUser = new MockEPUser(); String loginId = "guestT"; String uebKey = "testUebKey"; - @Test - public void getUserTest() throws Exception { - String reason = getInvalidKeyJson(); - StringWriter sw = new StringWriter(); - PrintWriter writer = new PrintWriter(sw); - Mockito.when(mockedResponse.getWriter()).thenReturn(writer); - List userList = new ArrayList<>(); - Mockito.when(externalAccessRolesService.getUser(loginId)).thenReturn(userList); - externalAccessRolesController.getUser(mockedRequest, mockedResponse, loginId); - String result = sw.getBuffer().toString().trim(); - assertEquals(reason, result); - } - - @Test - public void getUserExceptionTest() throws Exception { - String reason = getInvalidKeyJson(); - StringWriter sw = new StringWriter(); - PrintWriter writer = new PrintWriter(sw); - Mockito.when(mockedResponse.getWriter()).thenReturn(writer); - externalAccessRolesController.getUser(mockedRequest, mockedResponse, loginId); - String result = sw.getBuffer().toString().trim(); - assertEquals(reason, result); - } - - public EPApp mockApp() - { + public EPApp mockApp() { EPApp app = new EPApp(); app.setName("Test"); app.setImageUrl("test"); @@ -176,10 +144,188 @@ public class ExternalAccessRolesControllerTest { app.setAppType(1); return app; } - + + @Test + public void getUserTest() throws Exception { + CentralUser expectedCentralUser = + new CentralUser.CentralUserBuilder().setId(null).setCreated(null).setModified(null).setCreatedId(null) + .setModifiedId(null).setRowNum(null).setOrgId(null).setManagerId(null).setFirstName(loginId) + .setMiddleInitial(loginId).setLastName(loginId).setPhone(loginId).setFax(loginId) + .setCellular(loginId).setEmail(loginId).setAddressId(null).setAlertMethodCd(loginId) + .setHrid(loginId).setOrgUserId(loginId).setOrgCode(loginId).setAddress1(loginId) + .setAddress2(loginId).setCity(loginId).setState(loginId).setZipCode(loginId).setCountry(loginId) + .setOrgManagerUserId(loginId).setLocationClli(loginId).setBusinessCountryCode(loginId) + .setBusinessCountryName(loginId).setBusinessUnit(loginId).setBusinessUnitName(loginId) + .setDepartment(loginId).setDepartmentName(loginId).setCompanyCode(loginId).setCompany(loginId) + .setZipCodeSuffix(loginId).setJobTitle(loginId).setCommandChain(loginId).setSiloStatus(loginId) + .setCostCenter(loginId).setFinancialLocCode(loginId).setLoginId(loginId).setLoginPwd(loginId) + .setLastLoginDate(null).setActive(false).setInternal(false).setSelectedProfileId(null) + .setTimeZoneId(null).setOnline(false).setChatId(loginId).setUserApps(null).createCentralUser(); + String loginId = "test"; + StringWriter sw = new StringWriter(); + PrintWriter writer = new PrintWriter(sw); + Mockito.when(mockedResponse.getWriter()).thenReturn(writer); + EPApp app = mockApp(); + app.setCentralAuth(true); + List appList = new ArrayList<>(); + appList.add(app); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(appList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(appList); + Mockito.when(externalAccessRolesService.getUserRoles(loginId, mockedRequest.getHeader("uebkey"))) + .thenReturn(expectedCentralUser); + CentralUser actualCentralUser = externalAccessRolesController.getUser(mockedRequest, mockedResponse, loginId); + assertEquals(actualCentralUser.isActive(), expectedCentralUser.isActive()); + } + + @Test + public void getUserExceptionTest() throws Exception { + String reason = getInvalidKeyJson(); + StringWriter sw = new StringWriter(); + PrintWriter writer = new PrintWriter(sw); + Mockito.when(mockedResponse.getWriter()).thenReturn(writer); + externalAccessRolesController.getUser(mockedRequest, mockedResponse, loginId); + String result = sw.getBuffer().toString().trim(); + assertEquals(reason, result); + } + + @Test + public void getUserXSSTest() throws Exception { + String loginId = ""; + String expected = getXSSKeyJson(); + StringWriter sw = new StringWriter(); + PrintWriter writer = new PrintWriter(sw); + Mockito.when(mockedResponse.getWriter()).thenReturn(writer); + externalAccessRolesController.getUser(mockedRequest, mockedResponse, loginId); + String actual = sw.getBuffer().toString().trim(); + assertEquals(expected, actual); + } + + @Test + public void getV2UserListTest() throws Exception { + String expectedCentralUser = "test"; + String loginId = "test"; + EPApp app = mockApp(); + app.setCentralAuth(true); + List appList = new ArrayList<>(); + appList.add(app); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(appList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(appList); + Mockito.when(externalAccessRolesService.getV2UserWithRoles(loginId, mockedRequest.getHeader("uebkey"))) + .thenReturn(expectedCentralUser); + String actualString = externalAccessRolesController.getV2UserList(mockedRequest, mockedResponse, loginId); + assertEquals(actualString, expectedCentralUser); + } + + @Test(expected = NullPointerException.class) + public void getV2UserListExceptionTest() throws Exception { + String expectedCentralUser = null; + String loginId = "test"; + EPApp app = mockApp(); + app.setCentralAuth(true); + List appList = new ArrayList<>(); + appList.add(app); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + ResponseEntity response = null; + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(appList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(appList); + Mockito.when(externalAccessRolesService.getV2UserWithRoles(loginId, mockedRequest.getHeader("uebkey"))) + .thenReturn(expectedCentralUser); + String actualString = externalAccessRolesController.getV2UserList(mockedRequest, mockedResponse, loginId); + assertEquals(actualString, expectedCentralUser); + } + + @Test + public void getRolesForAppCentralRoleTest() throws Exception { + List expectedCentralRoleList = new ArrayList<>(); + List applicationList = new ArrayList<>(); + List centralV2RoleList = new ArrayList<>(); + List centralRoleList = new ArrayList<>(); + EPApp app = mockApp(); + app.setCentralAuth(true); + applicationList.add(app); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(applicationList.get(0))).thenReturn(response); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(applicationList); + Mockito.doNothing().when(externalAccessRolesService).syncApplicationRolesWithEcompDB(app); + Mockito.when(externalAccessRolesService.getRolesForApp(mockedRequest.getHeader(uebKey))) + .thenReturn(centralV2RoleList); + Mockito.when(externalAccessRolesService.convertV2CentralRoleListToOldVerisonCentralRoleList(centralV2RoleList)) + .thenReturn(centralRoleList); + List actualCentralRoleList = externalAccessRolesController.getRolesForApp(mockedRequest, + mockedResponse); + assertEquals(actualCentralRoleList.size(), expectedCentralRoleList.size()); + } + + @Test(expected = NullPointerException.class) + public void getRolesForAppCentralRoleExceptionTest() throws Exception { + List applicationList = new ArrayList<>(); + List centralV2RoleList = new ArrayList<>(); + List centralRoleList = new ArrayList<>(); + EPApp app = mockApp(); + app.setCentralAuth(true); + applicationList.add(app); + ResponseEntity response = null; + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(applicationList.get(0))).thenReturn(response); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(applicationList); + Mockito.doNothing().when(externalAccessRolesService).syncApplicationRolesWithEcompDB(app); + Mockito.when(externalAccessRolesService.getRolesForApp(mockedRequest.getHeader(uebKey))) + .thenReturn(centralV2RoleList); + Mockito.when(externalAccessRolesService.convertV2CentralRoleListToOldVerisonCentralRoleList(centralV2RoleList)) + .thenReturn(centralRoleList); + List actualCentralRoleList = externalAccessRolesController.getRolesForApp(mockedRequest, + mockedResponse); + assertEquals(null, actualCentralRoleList); + } + + @Test + public void getV2RolesForAppTest() throws Exception { + List expectedCentralRoleList = new ArrayList<>(); + List applicationList = new ArrayList<>(); + List centralV2Role = new ArrayList<>(); + EPApp app = mockApp(); + app.setCentralAuth(true); + applicationList.add(app); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(applicationList.get(0))).thenReturn(response); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(applicationList); + Mockito.doNothing().when(externalAccessRolesService).syncApplicationRolesWithEcompDB(app); + Mockito.when(externalAccessRolesService.getRolesForApp(mockedRequest.getHeader(uebKey))) + .thenReturn(centralV2Role); + List actualCentralV2Role = externalAccessRolesController.getV2RolesForApp(mockedRequest, + mockedResponse); + assertEquals(actualCentralV2Role.size(), expectedCentralRoleList.size()); + } + + @Test(expected = NullPointerException.class) + public void getV2RolesForAppExceptionTest() throws Exception { + List expectedCentralRoleList = new ArrayList<>(); + List applicationList = new ArrayList<>(); + List centralV2Role = new ArrayList<>(); + EPApp app = mockApp(); + app.setCentralAuth(true); + applicationList.add(app); + ResponseEntity response = null; + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(applicationList.get(0))).thenReturn(response); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(applicationList); + Mockito.doNothing().when(externalAccessRolesService).syncApplicationRolesWithEcompDB(app); + Mockito.when(externalAccessRolesService.getRolesForApp(mockedRequest.getHeader(uebKey))) + .thenReturn(centralV2Role); + List actualCentralV2Role = externalAccessRolesController.getV2RolesForApp(mockedRequest, + mockedResponse); + assertEquals(actualCentralV2Role.size(), expectedCentralRoleList.size()); + } + @Test(expected = NullPointerException.class) public void getRolesForAppTest() throws Exception { - List applicationList = new ArrayList(); + List applicationList = new ArrayList<>(); List answer = new ArrayList<>(); EPApp app = mockApp(); applicationList.add(app); @@ -191,46 +337,107 @@ public class ExternalAccessRolesControllerTest { @Test(expected = NullPointerException.class) public void getRolesForAppExceptionTest() throws Exception { - List applicationList = new ArrayList(); + List applicationList = new ArrayList<>(); EPApp app = mockApp(); applicationList.add(app); Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList); Mockito.doNothing().when(externalAccessRolesService).syncApplicationRolesWithEcompDB(app); - externalAccessRolesController.getRolesForApp(mockedRequest,mockedResponse); + externalAccessRolesController.getRolesForApp(mockedRequest, mockedResponse); List role = externalAccessRolesService.getRolesForApp(mockedRequest.getHeader(uebKey)); - assertEquals(null,role); + assertEquals(null, role); } @Test public void getRoleFunctionsListTest() throws Exception { + List expectedCentralRoleList = new ArrayList<>(); + List roleFuncList = new ArrayList<>(); + List applicationList = new ArrayList<>(); + List centralV2RoleFunction = new ArrayList<>(); + EPApp app = mockApp(); + app.setCentralAuth(true); + applicationList.add(app); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(applicationList.get(0))).thenReturn(response); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(applicationList); + Mockito.doNothing().when(externalAccessRolesService).syncApplicationRolesWithEcompDB(app); + Mockito.when(externalAccessRolesService.getRoleFuncList(mockedRequest.getHeader("uebkey"))) + .thenReturn(centralV2RoleFunction); + Mockito.when(externalAccessRolesService.convertCentralRoleFunctionToRoleFunctionObject(centralV2RoleFunction)) + .thenReturn(roleFuncList); + List actualCentralRoleFunction = externalAccessRolesController + .getRoleFunctionsList(mockedRequest, mockedResponse); + assertEquals(actualCentralRoleFunction.size(), expectedCentralRoleList.size()); + } + + @Test + public void getRoleFunctionsListExceptionTest() throws Exception { String reason = getInvalidKeyJson(); StringWriter sw = new StringWriter(); PrintWriter writer = new PrintWriter(sw); - Mockito.when(mockedResponse.getWriter()).thenReturn(writer); - List answer = null; - Mockito.when(externalAccessRolesService.getRoleFuncList(mockedRequest.getHeader(uebKey))).thenReturn(null); - assertEquals(externalAccessRolesController.getRoleFunctionsList(mockedRequest, mockedResponse), answer); + Mockito.when(mockedResponse.getWriter()).thenReturn(writer); + externalAccessRolesController.getRoleFunctionsList(mockedRequest, mockedResponse); String result = sw.getBuffer().toString().trim(); assertEquals(reason, result); } @Test - public void getRoleFunctionsListExceptionTest() throws Exception { + public void getV2RoleFunctionsListTest() throws Exception { + List expectedCentralV2RoleFunctionList = new ArrayList<>(); + List applicationList = new ArrayList<>(); + List centralV2RoleFunction = new ArrayList<>(); + EPApp app = mockApp(); + app.setCentralAuth(true); + applicationList.add(app); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(applicationList.get(0))).thenReturn(response); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(applicationList); + Mockito.doNothing().when(externalAccessRolesService).syncApplicationRolesWithEcompDB(app); + Mockito.when(externalAccessRolesService.getRoleFuncList(mockedRequest.getHeader("uebkey"))) + .thenReturn(centralV2RoleFunction); + List actualCentralV2RoleFunctionList = externalAccessRolesController + .getV2RoleFunctionsList(mockedRequest, mockedResponse); + assertEquals(actualCentralV2RoleFunctionList.size(), expectedCentralV2RoleFunctionList.size()); + } + + @Test + public void getV2RoleFunctionsListExceptionTest() throws Exception { String reason = getInvalidKeyJson(); StringWriter sw = new StringWriter(); PrintWriter writer = new PrintWriter(sw); Mockito.when(mockedResponse.getWriter()).thenReturn(writer); - externalAccessRolesController.getRoleFunctionsList(mockedRequest, mockedResponse); + externalAccessRolesController.getV2RoleFunctionsList(mockedRequest, mockedResponse); String result = sw.getBuffer().toString().trim(); assertEquals(reason, result); } + @Test + public void getRoleInfoValidationTest() throws Exception { + CentralRole expectedCentralRole = null; + List applicationList = new ArrayList<>(); + long roleId = 1; + CentralV2Role centralV2Role = new CentralV2Role(); + EPApp app = mockApp(); + app.setCentralAuth(true); + applicationList.add(app); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(applicationList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(applicationList); + Mockito.when(externalAccessRolesService.getRoleInfo(roleId, mockedRequest.getHeader("uebkey"))) + .thenReturn(centralV2Role); + CentralRole actualCentralRole = externalAccessRolesController.getRoleInfo(mockedRequest, mockedResponse, + roleId); + assertEquals(actualCentralRole, expectedCentralRole); + } + @Test public void getRoleInfoTest() throws Exception { String reason = getInvalidKeyJson(); StringWriter sw = new StringWriter(); PrintWriter writer = new PrintWriter(sw); - Mockito.when(mockedResponse.getWriter()).thenReturn(writer); + Mockito.when(mockedResponse.getWriter()).thenReturn(writer); CentralV2Role answer = new CentralV2Role(); long roleId = 1; Mockito.when(externalAccessRolesService.getRoleInfo(roleId, mockedRequest.getHeader(uebKey))) @@ -245,13 +452,116 @@ public class ExternalAccessRolesControllerTest { String reason = getInvalidKeyJson(); StringWriter sw = new StringWriter(); PrintWriter writer = new PrintWriter(sw); - Mockito.when(mockedResponse.getWriter()).thenReturn(writer); + Mockito.when(mockedResponse.getWriter()).thenReturn(writer); long roleId = 1; assertNull(externalAccessRolesController.getRoleInfo(mockedRequest, mockedResponse, roleId)); String result = sw.getBuffer().toString().trim(); assertEquals(reason, result); } + @Test + public void getV2RoleInfoValidationTest() throws Exception { + CentralV2Role expectedCentralRole = new CentralV2Role(); + expectedCentralRole.setActive(false); + List applicationList = new ArrayList<>(); + long roleId = 1; + CentralV2Role centralV2Role = new CentralV2Role(); + EPApp app = mockApp(); + app.setCentralAuth(true); + applicationList.add(app); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(applicationList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(applicationList); + Mockito.when(externalAccessRolesService.getRoleInfo(roleId, mockedRequest.getHeader("uebkey"))) + .thenReturn(centralV2Role); + CentralV2Role actualCentralRole = externalAccessRolesController.getV2RoleInfo(mockedRequest, mockedResponse, + roleId); + assertEquals(actualCentralRole.getActive(), expectedCentralRole.getActive()); + } + + @Test + public void getV2RoleInfoTest() throws Exception { + String reason = getInvalidKeyJson(); + StringWriter sw = new StringWriter(); + PrintWriter writer = new PrintWriter(sw); + Mockito.when(mockedResponse.getWriter()).thenReturn(writer); + CentralV2Role answer = new CentralV2Role(); + long roleId = 1; + Mockito.when(externalAccessRolesService.getRoleInfo(roleId, mockedRequest.getHeader(uebKey))) + .thenReturn(answer); + externalAccessRolesController.getV2RoleInfo(mockedRequest, mockedResponse, roleId); + String result = sw.getBuffer().toString().trim(); + assertEquals(reason, result); + } + + @Test + public void getV2RoleInfoExceptionTest() throws Exception { + String reason = getInvalidKeyJson(); + StringWriter sw = new StringWriter(); + PrintWriter writer = new PrintWriter(sw); + Mockito.when(mockedResponse.getWriter()).thenReturn(writer); + long roleId = 1; + assertNull(externalAccessRolesController.getV2RoleInfo(mockedRequest, mockedResponse, roleId)); + String result = sw.getBuffer().toString().trim(); + assertEquals(reason, result); + } + + @Test + public void getV2RoleFunctionTest() throws Exception { + CentralV2RoleFunction expectedCentralV2RoleFunction = new CentralV2RoleFunction(); + expectedCentralV2RoleFunction.setCode("test"); + List applicationList = new ArrayList<>(); + String code = "test"; + CentralV2RoleFunction centralV2RoleFunction = new CentralV2RoleFunction(); + centralV2RoleFunction.setCode("test"); + EPApp app = mockApp(); + app.setCentralAuth(true); + applicationList.add(app); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(applicationList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(applicationList); + Mockito.when(externalAccessRolesService.getRoleFunction(code, mockedRequest.getHeader("uebkey"))) + .thenReturn(centralV2RoleFunction); + CentralV2RoleFunction actualCentralV2RoleFunction = externalAccessRolesController + .getV2RoleFunction(mockedRequest, mockedResponse, code); + assertEquals(actualCentralV2RoleFunction.getCode(), expectedCentralV2RoleFunction.getCode()); + } + + + @Test + public void getV2RoleFunctionNullCheckTest() throws Exception { + CentralV2RoleFunction expectedCentralV2RoleFunction = new CentralV2RoleFunction(); + List applicationList = new ArrayList<>(); + String code = "test"; + CentralV2RoleFunction centralV2RoleFunction = null; + EPApp app = mockApp(); + app.setCentralAuth(true); + applicationList.add(app); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(applicationList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(applicationList); + Mockito.when(externalAccessRolesService.getRoleFunction(code, mockedRequest.getHeader("uebkey"))) + .thenReturn(centralV2RoleFunction); + CentralV2RoleFunction actualCentralV2RoleFunction = externalAccessRolesController + .getV2RoleFunction(mockedRequest, mockedResponse, code); + assertEquals(actualCentralV2RoleFunction.getAction(), expectedCentralV2RoleFunction.getAction()); + } + + @Test + public void getV2RoleFunctionExceptionTest() throws Exception { + String reason = getInvalidKeyJson(); + StringWriter sw = new StringWriter(); + PrintWriter writer = new PrintWriter(sw); + Mockito.when(mockedResponse.getWriter()).thenReturn(writer); + String code = "test"; + assertNull(externalAccessRolesController.getV2RoleFunction(mockedRequest, mockedResponse, code)); + String result = sw.getBuffer().toString().trim(); + assertEquals(reason, result); + } + @Test public void getRoleFunctionTest() throws Exception { EPApp mockApp = mockApp(); @@ -260,7 +570,7 @@ public class ExternalAccessRolesControllerTest { mockAppList.add(mockApp); StringWriter sw = new StringWriter(); PrintWriter writer = new PrintWriter(sw); - Mockito.when(mockedResponse.getWriter()).thenReturn(writer); + Mockito.when(mockedResponse.getWriter()).thenReturn(writer); CentralV2RoleFunction roleFunction1 = new CentralV2RoleFunction(); CentralRoleFunction roleFunction2 = new CentralRoleFunction(); roleFunction1.setCode("test2"); @@ -271,7 +581,8 @@ public class ExternalAccessRolesControllerTest { Mockito.when(externalAccessRolesService.getNameSpaceIfExists(mockAppList.get(0))).thenReturn(response); Mockito.when(externalAccessRolesService.getRoleFunction(code, mockedRequest.getHeader("uebkey"))) .thenReturn(roleFunction1); - CentralRoleFunction returnedValue = externalAccessRolesController.getRoleFunction(mockedRequest, mockedResponse, code); + CentralRoleFunction returnedValue = externalAccessRolesController.getRoleFunction(mockedRequest, mockedResponse, + code); assertEquals(returnedValue, roleFunction2); String result = sw.getBuffer().toString().trim(); assertEquals("", result); @@ -282,67 +593,165 @@ public class ExternalAccessRolesControllerTest { String reason = getInvalidKeyJson(); StringWriter sw = new StringWriter(); PrintWriter writer = new PrintWriter(sw); - Mockito.when(mockedResponse.getWriter()).thenReturn(writer); + Mockito.when(mockedResponse.getWriter()).thenReturn(writer); String code = "test_menu"; Mockito.when(externalAccessRolesService.getRoleFunction(code, mockedRequest.getHeader(uebKey))) .thenThrow(httpClientErrorException); - assertEquals(new CentralRoleFunction(),externalAccessRolesController.getRoleFunction(mockedRequest, mockedResponse, code)); + assertEquals(new CentralRoleFunction(), + externalAccessRolesController.getRoleFunction(mockedRequest, mockedResponse, code)); String result = sw.getBuffer().toString().trim(); assertEquals(reason, result); } - @Test(expected = NullPointerException.class) - public void saveRoleFunctionIfIsIsNotDeletedTest() throws Exception { - List applicationList = new ArrayList(); + @Test + public void getRoleFunctionXSSTest() throws Exception { + String expected = getXSSKeyJson(); + EPApp mockApp = mockApp(); + mockApp.setCentralAuth(true); + List mockAppList = new ArrayList<>(); + mockAppList.add(mockApp); + StringWriter sw = new StringWriter(); + PrintWriter writer = new PrintWriter(sw); + Mockito.when(mockedResponse.getWriter()).thenReturn(writer); + CentralV2RoleFunction roleFunction1 = new CentralV2RoleFunction(); + CentralRoleFunction roleFunction2 = new CentralRoleFunction(); + roleFunction1.setCode("test2"); + String code = ""; + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(mockAppList); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(mockAppList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getRoleFunction(code, mockedRequest.getHeader("uebkey"))) + .thenReturn(roleFunction1); + CentralRoleFunction returnedValue = externalAccessRolesController.getRoleFunction(mockedRequest, mockedResponse, + code); + assertEquals(returnedValue, roleFunction2); + String result = sw.getBuffer().toString().trim(); + assertEquals(expected, result); + } + + @Test + public void saveRoleFunctionIfIsNotDeletedTest() throws Exception { + List applicationList = new ArrayList<>(); EPApp app = mockApp(); applicationList.add(app); Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList); PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); - expectedportalRestResponse.setMessage("Invalid uebkey!"); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage(null); expectedportalRestResponse.setResponse("Failed"); expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); String data = null; CentralV2RoleFunction centralV2RoleFunction = new CentralV2RoleFunction(); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(applicationList); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(applicationList.get(0))).thenReturn(response); Mockito.when(externalAccessRolesService.saveCentralRoleFunction(centralV2RoleFunction, app)).thenReturn(false); portalRestResponse = externalAccessRolesController.saveRoleFunction(mockedRequest, mockedResponse, data); assertEquals(portalRestResponse, expectedportalRestResponse); } - - @Test(expected = NullPointerException.class) + + @Test public void saveRoleFunctionExceptionTest() throws Exception { - List applicationList = new ArrayList(); + List applicationList = new ArrayList<>(); EPApp app = mockApp(); + app.setCentralAuth(true); applicationList.add(app); Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList); PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); - expectedportalRestResponse.setMessage("Invalid uebkey!"); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage(null); expectedportalRestResponse.setResponse("Failed"); expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(applicationList); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(applicationList.get(0))).thenReturn(response); portalRestResponse = externalAccessRolesController.saveRoleFunction(mockedRequest, mockedResponse, null); - System.out.println(portalRestResponse); assertEquals(portalRestResponse, expectedportalRestResponse); } - - @Test(expected = NullPointerException.class) + + @Test public void saveRoleFunctionTest() throws Exception { - List applicationList = new ArrayList(); + List applicationList = new ArrayList<>(); + EPUser user = mockUser.mockEPUser(); + List userList = new ArrayList<>(); + userList.add(user); + EPApp app = mockApp(); + app.setCentralAuth(true); + applicationList.add(app); + JSONObject roleFunc = new JSONObject(); + roleFunc.put("type", "test_type"); + roleFunc.put("code", "test_instance"); + roleFunc.put("action", "test_action"); + roleFunc.put("name", "test_name"); + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + CentralV2RoleFunction saveRoleFunc = mapper.readValue(roleFunc.toString(), CentralV2RoleFunction.class); + saveRoleFunc.setAppId(app.getId()); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList); + PortalRestResponse portalRestResponse = null; + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage("Successfully saved!"); + expectedportalRestResponse.setResponse("Success"); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(applicationList); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(applicationList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getRoleFunction("test_type|test_instance|test_action", app.getUebKey())) + .thenReturn(null); + Mockito.when(externalAccessRolesService.saveCentralRoleFunction(Matchers.any(CentralV2RoleFunction.class), + Matchers.any(EPApp.class))).thenReturn(true); + Mockito.when(externalAccessRolesService.getUser(mockedRequest.getHeader(Matchers.anyString()))) + .thenReturn(userList); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(Matchers.anyString()))) + .thenReturn(applicationList); + portalRestResponse = externalAccessRolesController.saveRoleFunction(mockedRequest, mockedResponse, + roleFunc.toString()); + assertEquals(portalRestResponse, expectedportalRestResponse); + } + + @Test + public void saveRoleFunctionXSSTest() throws Exception { + List applicationList = new ArrayList<>(); + EPUser user = mockUser.mockEPUser(); + List userList = new ArrayList<>(); + userList.add(user); EPApp app = mockApp(); + app.setCentralAuth(true); applicationList.add(app); + JSONObject roleFunc = new JSONObject(); + roleFunc.put("type", " "); + roleFunc.put("code", "test_instance"); + roleFunc.put("action", "test_action"); + roleFunc.put("name", "test_name"); + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + CentralV2RoleFunction saveRoleFunc = mapper.readValue(roleFunc.toString(), CentralV2RoleFunction.class); + saveRoleFunc.setAppId(app.getId()); Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList); PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); - expectedportalRestResponse.setMessage(null); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage("Failed to roleFunc, not valid data."); expectedportalRestResponse.setResponse("Failed"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR); - String data = null; - CentralV2RoleFunction centralV2RoleFunction = new CentralV2RoleFunction(); - Mockito.when(externalAccessRolesService.saveCentralRoleFunction(centralV2RoleFunction, app)).thenReturn(true); - portalRestResponse = externalAccessRolesController.saveRoleFunction(mockedRequest, mockedResponse, data); - System.out.println(portalRestResponse); - assertEquals(portalRestResponse, expectedportalRestResponse); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(applicationList); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(applicationList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getRoleFunction("test_type|test_instance|test_action", app.getUebKey())) + .thenReturn(null); + Mockito.when(externalAccessRolesService.saveCentralRoleFunction(Matchers.any(CentralV2RoleFunction.class), + Matchers.any(EPApp.class))).thenReturn(true); + Mockito.when(externalAccessRolesService.getUser(mockedRequest.getHeader(Matchers.anyString()))) + .thenReturn(userList); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(Matchers.anyString()))) + .thenReturn(applicationList); + portalRestResponse = externalAccessRolesController.saveRoleFunction(mockedRequest, mockedResponse, + roleFunc.toString()); + assertEquals(expectedportalRestResponse, portalRestResponse); } @Test @@ -352,19 +761,48 @@ public class ExternalAccessRolesControllerTest { PowerMockito.mockStatic(EPCommonSystemProperties.class); PowerMockito.mockStatic(PortalConstants.class); PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); expectedportalRestResponse.setMessage("Successfully Deleted"); expectedportalRestResponse.setResponse("Success"); - PortalRestStatusEnum portalRestStatusEnum = null; EPUser user = mockUser.mockEPUser(); List userList = new ArrayList<>(); userList.add(user); EPApp app = mockApp(); app.setCentralAuth(true); - List appList = new ArrayList<>(); + List appList = new ArrayList<>(); + appList.add(app); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK); + String code = "testNew"; + Mockito.when(mockedRequest.getHeader("LoginId")).thenReturn("guestT"); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(appList); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(appList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getUser(mockedRequest.getHeader("LoginId"))).thenReturn(userList); + Mockito.when(externalAccessRolesService.deleteCentralRoleFunction(code, app)).thenReturn(true); + portalRestResponse = externalAccessRolesController.deleteRoleFunction(mockedRequest, mockedResponse, code); + assertEquals(portalRestResponse, expectedportalRestResponse); + } + + @Test + public void deleteRoleFunctionXSSTest() throws Exception { + PowerMockito.mockStatic(EcompPortalUtils.class); + PowerMockito.mockStatic(SystemProperties.class); + PowerMockito.mockStatic(EPCommonSystemProperties.class); + PowerMockito.mockStatic(PortalConstants.class); + PortalRestResponse portalRestResponse = null; + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage("Failed to deleteRoleFunction, not valid data."); + expectedportalRestResponse.setResponse("Failed"); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); + EPUser user = mockUser.mockEPUser(); + List userList = new ArrayList<>(); + userList.add(user); + EPApp app = mockApp(); + app.setCentralAuth(true); + List appList = new ArrayList<>(); appList.add(app); - expectedportalRestResponse.setStatus(portalRestStatusEnum.OK); - String code ="testNew"; + String code = ""; Mockito.when(mockedRequest.getHeader("LoginId")).thenReturn("guestT"); Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(appList); @@ -389,6 +827,25 @@ public class ExternalAccessRolesControllerTest { assertEquals(reason, result); } + @Test + public void getActiveRolesValidationTest() throws Exception { + List expectedRolesList = null; + EPApp app = mockApp(); + app.setCentralAuth(true); + List appList = new ArrayList<>(); + appList.add(app); + List cenRoles = new ArrayList<>(); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(appList); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(appList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getActiveRoles(mockedRequest.getHeader("uebkey"))).thenReturn(cenRoles); + Mockito.when(externalAccessRolesService.convertV2CentralRoleListToOldVerisonCentralRoleList(cenRoles)) + .thenReturn(expectedRolesList); + List actualRolesList = externalAccessRolesController.getActiveRoles(mockedRequest, mockedResponse); + assertEquals(actualRolesList, expectedRolesList); + } + @Test public void getActiveRolesExceptionTest() throws Exception { String reason = getInvalidKeyJson(); @@ -404,27 +861,36 @@ public class ExternalAccessRolesControllerTest { * It return JSON string which has error information * * @return JSON String - * @throws JsonProcessingException + * @throws JsonProcessingException */ private String getInvalidKeyJson() throws JsonProcessingException { - final Map uebkeyResponse = new HashMap<>(); + final Map uebkeyResponse = new HashMap<>(); + String reason = ""; + ObjectMapper mapper = new ObjectMapper(); + uebkeyResponse.put("error", "Invalid credentials!"); + reason = mapper.writeValueAsString(uebkeyResponse); + return reason; + } + + private String getXSSKeyJson() throws JsonProcessingException { + final Map uebkeyResponse = new HashMap<>(); String reason = ""; ObjectMapper mapper = new ObjectMapper(); - uebkeyResponse.put("error","Invalid uebkey!"); + uebkeyResponse.put("error", "Data is not valid"); reason = mapper.writeValueAsString(uebkeyResponse); return reason; } @Test - public void deleteDependcyRoleRecordExceptionTest() throws Exception { + public void deleteDependcyRoleRecordExceptionTest() { PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); - expectedportalRestResponse.setMessage("Invalid uebkey!"); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage("Invalid credentials!"); expectedportalRestResponse.setResponse("Failed"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); long roleId = 123; - portalRestResponse = externalAccessRolesController.deleteDependencyRoleRecord(mockedRequest, mockedResponse, roleId); + portalRestResponse = externalAccessRolesController.deleteDependencyRoleRecord(mockedRequest, mockedResponse, + roleId); assertEquals(expectedportalRestResponse, portalRestResponse); } @@ -434,11 +900,10 @@ public class ExternalAccessRolesControllerTest { Mockito.when(externalAccessRolesService.bulkUploadFunctions(mockedRequest.getHeader(uebKey))) .thenReturn(result); PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); expectedportalRestResponse.setMessage("Successfully added: 0"); expectedportalRestResponse.setResponse("Success"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.OK); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK); portalRestResponse = externalAccessRolesController.bulkUploadFunctions(mockedRequest, mockedResponse); assertEquals(portalRestResponse, expectedportalRestResponse); } @@ -448,11 +913,10 @@ public class ExternalAccessRolesControllerTest { Mockito.when(externalAccessRolesService.bulkUploadFunctions(mockedRequest.getHeader(uebKey))) .thenThrow(httpClientErrorException); PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); expectedportalRestResponse.setMessage("Failed to bulkUploadFunctions"); expectedportalRestResponse.setResponse("Failed"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); portalRestResponse = externalAccessRolesController.bulkUploadFunctions(mockedRequest, mockedResponse); assertEquals(portalRestResponse, expectedportalRestResponse); } @@ -461,11 +925,10 @@ public class ExternalAccessRolesControllerTest { public void bulkUploadRolesTest() throws Exception { Integer result = 0; PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); expectedportalRestResponse.setMessage("Successfully added: 0"); expectedportalRestResponse.setResponse("Success"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.OK); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK); Mockito.when(externalAccessRolesService.bulkUploadRoles(mockedRequest.getHeader(uebKey))).thenReturn(result); portalRestResponse = externalAccessRolesController.bulkUploadRoles(mockedRequest, mockedResponse); assertEquals(portalRestResponse, expectedportalRestResponse); @@ -476,11 +939,10 @@ public class ExternalAccessRolesControllerTest { Mockito.when(externalAccessRolesService.bulkUploadRoles(mockedRequest.getHeader(uebKey))) .thenThrow(httpClientErrorException); PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); expectedportalRestResponse.setMessage("Failed to bulkUploadRoles"); expectedportalRestResponse.setResponse("Failed"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); portalRestResponse = externalAccessRolesController.bulkUploadRoles(mockedRequest, mockedResponse); assertEquals(portalRestResponse, expectedportalRestResponse); } @@ -489,11 +951,10 @@ public class ExternalAccessRolesControllerTest { public void bulkUploadRoleFunctionsTest() throws Exception { Integer result = 0; PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); expectedportalRestResponse.setMessage("Successfully added: 0"); expectedportalRestResponse.setResponse("Success"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.OK); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK); Mockito.when(externalAccessRolesService.bulkUploadRolesFunctions(mockedRequest.getHeader(uebKey))) .thenReturn(result); portalRestResponse = externalAccessRolesController.bulkUploadRoleFunctions(mockedRequest, mockedResponse); @@ -505,11 +966,10 @@ public class ExternalAccessRolesControllerTest { Mockito.when(externalAccessRolesService.bulkUploadRolesFunctions(mockedRequest.getHeader(uebKey))) .thenThrow(httpClientErrorException); PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); expectedportalRestResponse.setMessage("Failed to bulkUploadRoleFunctions"); expectedportalRestResponse.setResponse("Failed"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); portalRestResponse = externalAccessRolesController.bulkUploadRoleFunctions(mockedRequest, mockedResponse); assertEquals(portalRestResponse, expectedportalRestResponse); } @@ -518,11 +978,10 @@ public class ExternalAccessRolesControllerTest { public void bulkUploadUserRolesTest() throws Exception { Integer result = 0; PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); expectedportalRestResponse.setMessage("Successfully added: 0"); expectedportalRestResponse.setResponse("Success"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.OK); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK); Mockito.when(externalAccessRolesService.bulkUploadUserRoles(mockedRequest.getHeader(uebKey))) .thenReturn(result); portalRestResponse = externalAccessRolesController.bulkUploadUserRoles(mockedRequest, mockedResponse); @@ -534,66 +993,58 @@ public class ExternalAccessRolesControllerTest { Mockito.when(externalAccessRolesService.bulkUploadUserRoles(mockedRequest.getHeader(uebKey))) .thenThrow(httpClientErrorException); PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); expectedportalRestResponse.setMessage("Failed to bulkUploadUserRoles"); expectedportalRestResponse.setResponse("Failed"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); portalRestResponse = externalAccessRolesController.bulkUploadUserRoles(mockedRequest, mockedResponse); assertEquals(portalRestResponse, expectedportalRestResponse); } @Test - public void bulkUploadPartnerFunctionsTest() throws Exception { + public void bulkUploadPartnerFunctionsTest() { PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); - expectedportalRestResponse.setMessage("Successfully added"); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage("Successfully added: '0' functions"); expectedportalRestResponse.setResponse("Success"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.OK); - portalRestResponse = externalAccessRolesController.bulkUploadPartnerFunctions(mockedRequest, mockedResponse, null); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK); + portalRestResponse = externalAccessRolesController.bulkUploadPartnerFunctions(mockedRequest, mockedResponse); assertEquals(portalRestResponse, expectedportalRestResponse); } - @Test - public void bulkUploadPartnerRolesTest() throws Exception { + public void bulkUploadPartnerRolesTest() { PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); expectedportalRestResponse.setMessage("Successfully added"); expectedportalRestResponse.setResponse("Success"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.OK); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK); List upload = new ArrayList<>(); portalRestResponse = externalAccessRolesController.bulkUploadPartnerRoles(mockedRequest, mockedResponse, upload); assertEquals(portalRestResponse, expectedportalRestResponse); } - @Test - public void bulkUploadPartnerRolesExceptionTest() throws Exception - { - ExternalAccessRolesService externalAccessRolesService = null; + @Test + public void bulkUploadPartnerRolesExceptionTest() { PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); expectedportalRestResponse.setMessage("Successfully added"); expectedportalRestResponse.setResponse("Success"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.OK); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK); List upload = new ArrayList<>(); portalRestResponse = externalAccessRolesController.bulkUploadPartnerRoles(mockedRequest, mockedResponse, upload); assertEquals(portalRestResponse, expectedportalRestResponse); - } + } @Test public void getMenuFunctionsTest() throws Exception { String reason = getInvalidKeyJson(); StringWriter sw = new StringWriter(); PrintWriter writer = new PrintWriter(sw); - Mockito.when(mockedResponse.getWriter()).thenReturn(writer); - Mockito.when(externalAccessRolesService.getMenuFunctionsList(mockedRequest.getHeader(uebKey))) - .thenReturn(null); + Mockito.when(mockedResponse.getWriter()).thenReturn(writer); + Mockito.when(externalAccessRolesService.getMenuFunctionsList(mockedRequest.getHeader(uebKey))).thenReturn(null); List expectedFunctionsList = externalAccessRolesController.getMenuFunctions(mockedRequest, mockedResponse); assertNull(expectedFunctionsList); @@ -606,7 +1057,7 @@ public class ExternalAccessRolesControllerTest { String reason = getInvalidKeyJson(); StringWriter sw = new StringWriter(); PrintWriter writer = new PrintWriter(sw); - Mockito.when(mockedResponse.getWriter()).thenReturn(writer); + Mockito.when(mockedResponse.getWriter()).thenReturn(writer); Mockito.when(externalAccessRolesService.getMenuFunctionsList(mockedRequest.getHeader(uebKey))) .thenThrow(httpClientErrorException); assertNull(externalAccessRolesController.getMenuFunctions(mockedRequest, mockedResponse)); @@ -614,60 +1065,52 @@ public class ExternalAccessRolesControllerTest { assertEquals(reason, result); } - @Test - public void saveRoleExceptionTest() throws Exception { + public void saveRoleExceptionTest() { Role role = new Role(); PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); - expectedportalRestResponse.setMessage("Invalid uebkey!"); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage("Invalid credentials!"); expectedportalRestResponse.setResponse("Failed"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR); - List upload = new ArrayList<>(); - portalRestResponse = externalAccessRolesController.saveRole(mockedRequest, mockedResponse,role); - + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); + portalRestResponse = externalAccessRolesController.saveRole(mockedRequest, mockedResponse, role); assertEquals(portalRestResponse, expectedportalRestResponse); } - + @Test - public void deleteRoleExceptionTest() throws Exception { + public void deleteRoleExceptionTest() { String role = "TestNew"; PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); - expectedportalRestResponse.setMessage("Invalid uebkey!"); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage("Invalid credentials!"); expectedportalRestResponse.setResponse("Failed"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR); - portalRestResponse = externalAccessRolesController.deleteRole(mockedRequest, mockedResponse,role); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); + portalRestResponse = externalAccessRolesController.deleteRole(mockedRequest, mockedResponse, role); assertEquals(portalRestResponse, expectedportalRestResponse); } - - + @Test - public void bulkUploadPartnerRoleFunctionsTest() throws Exception { + public void bulkUploadPartnerRoleFunctionsTest() { PortalRestResponse portalRestResponse = null; - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); - expectedportalRestResponse.setMessage("Successfully added"); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage("Successfully added: '0' role functions"); expectedportalRestResponse.setResponse("Success"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.OK); - List upload = new ArrayList<>(); - portalRestResponse = externalAccessRolesController.bulkUploadPartnerRoleFunctions(mockedRequest, mockedResponse,upload); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK); + portalRestResponse = externalAccessRolesController.bulkUploadPartnerRoleFunctions(mockedRequest, + mockedResponse); assertEquals(portalRestResponse, expectedportalRestResponse); } - + @Test - public void getUsersOfApplicationTest() throws Exception - { + public void getUsersOfApplicationTest() throws Exception { List users = new ArrayList<>(); EcompUser user = new EcompUser(); user.setOrgUserId("guestT"); users.add(user); StringWriter sw = new StringWriter(); PrintWriter writer = new PrintWriter(sw); - Mockito.when(mockedResponse.getWriter()).thenReturn(writer); - List applicationList = new ArrayList(); + Mockito.when(mockedResponse.getWriter()).thenReturn(writer); + List applicationList = new ArrayList<>(); EPApp app = mockApp(); app.setCentralAuth(true); applicationList.add(app); @@ -675,93 +1118,95 @@ public class ExternalAccessRolesControllerTest { Mockito.when(externalAccessRolesService.getAllAppUsers(mockedRequest.getHeader(uebKey))).thenReturn(users); ResponseEntity response = new ResponseEntity<>(HttpStatus.OK); Mockito.when(externalAccessRolesService.getNameSpaceIfExists(app)).thenReturn(response); - List expectedUsers = externalAccessRolesController.getUsersOfApplication(mockedRequest, mockedResponse); + List expectedUsers = externalAccessRolesController.getUsersOfApplication(mockedRequest, + mockedResponse); assertEquals(expectedUsers, users); } - + @Test(expected = Exception.class) - public void getUsersOfApplicationExceptionTest() throws Exception - { + public void getUsersOfApplicationExceptionTest() throws Exception { List users = new ArrayList<>(); EcompUser user = new EcompUser(); user.setOrgUserId("guestT"); users.add(user); - Mockito.when(externalAccessRolesService.getAllAppUsers(mockedRequest.getHeader(uebKey))).thenThrow(nullPointerException); + Mockito.when(externalAccessRolesService.getAllAppUsers(mockedRequest.getHeader(uebKey))) + .thenThrow(nullPointerException); assertNull(externalAccessRolesController.getUsersOfApplication(mockedRequest, mockedResponse)); } - + @Test(expected = NullPointerException.class) - public void deleteRoleV2Test() throws Exception - { - List applicationList = new ArrayList(); + public void deleteRoleV2Test() throws Exception { + List applicationList = new ArrayList<>(); EPApp app = mockApp(); applicationList.add(app); Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList); - ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(true, "Success"); - Mockito.when(externalAccessRolesService.deleteDependencyRoleRecord(Matchers.anyLong(),Matchers.anyString(),Matchers.anyString())).thenReturn(externalRequestFieldsValidator); - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); + ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(true, + "Success"); + Mockito.when(externalAccessRolesService.deleteDependencyRoleRecord(Matchers.anyLong(), Matchers.anyString(), + Matchers.anyString())).thenReturn(externalRequestFieldsValidator); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); expectedportalRestResponse.setMessage("Successfully Deleted"); expectedportalRestResponse.setResponse("Success"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.OK); - PortalRestResponse actualResponse = externalAccessRolesController.deleteRole(mockedRequest, mockedResponse, (long)1); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK); + PortalRestResponse actualResponse = externalAccessRolesController.deleteRole(mockedRequest, + mockedResponse, (long) 1); assertNull(actualResponse); } - + @Test - public void deleteRoleV2InvalidUebKeyTest() throws Exception - { - List applicationList = new ArrayList(); + public void deleteRoleV2InvalidUebKeyTest() throws Exception { + List applicationList = new ArrayList<>(); EPApp app = mockApp(); applicationList.add(app); - Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenThrow(new Exception("Invalid uebkey!")); - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); - expectedportalRestResponse.setMessage("Invalid uebkey!"); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))) + .thenThrow(new Exception("Invalid credentials!")); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage("Invalid credentials!"); expectedportalRestResponse.setResponse("Failed"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR); - PortalRestResponse actualResponse = externalAccessRolesController.deleteRole(mockedRequest, mockedResponse, (long)1); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); + PortalRestResponse actualResponse = externalAccessRolesController.deleteRole(mockedRequest, + mockedResponse, (long) 1); assertEquals(actualResponse, expectedportalRestResponse); } - + @Test - public void deleteRoleV2InvalidUebKeyWithDiffErrorTest() throws Exception - { - List applicationList = new ArrayList(); + public void deleteRoleV2InvalidUebKeyWithDiffErrorTest() throws Exception { + List applicationList = new ArrayList<>(); EPApp app = mockApp(); applicationList.add(app); - Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenThrow(new Exception("test")); - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))) + .thenThrow(new Exception("test")); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); expectedportalRestResponse.setMessage("test"); expectedportalRestResponse.setResponse("Failed"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR); - PortalRestResponse actualResponse = externalAccessRolesController.deleteRole(mockedRequest, mockedResponse, (long)1); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); + PortalRestResponse actualResponse = externalAccessRolesController.deleteRole(mockedRequest, + mockedResponse, (long) 1); assertEquals(actualResponse, expectedportalRestResponse); } - - + @Test(expected = NullPointerException.class) - public void deleteRoleV2ExceptionTest() throws Exception - { - List applicationList = new ArrayList(); + public void deleteRoleV2ExceptionTest() throws Exception { + List applicationList = new ArrayList<>(); EPApp app = mockApp(); applicationList.add(app); Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList); - ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(false, "failed"); - Mockito.when(externalAccessRolesService.deleteDependencyRoleRecord(Matchers.anyLong(),Matchers.anyString(),Matchers.anyString())).thenReturn(externalRequestFieldsValidator); - PortalRestResponse expectedportalRestResponse = new PortalRestResponse(); + ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(false, + "failed"); + Mockito.when(externalAccessRolesService.deleteDependencyRoleRecord(Matchers.anyLong(), Matchers.anyString(), + Matchers.anyString())).thenReturn(externalRequestFieldsValidator); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); expectedportalRestResponse.setMessage("Failed to deleteRole"); expectedportalRestResponse.setResponse("Failed"); - PortalRestStatusEnum portalRestStatusEnum = null; - expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR); - PortalRestResponse actualResponse = externalAccessRolesController.deleteRole(mockedRequest, mockedResponse, (long)1); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); + PortalRestResponse actualResponse = externalAccessRolesController.deleteRole(mockedRequest, + mockedResponse, (long) 1); assertEquals(actualResponse, null); } - + @Test - public void getEpUserNullTest() throws Exception{ - List applicationList = new ArrayList(); + public void getEpUserNullTest() throws Exception { + List applicationList = new ArrayList<>(); EPApp app = mockApp(); app.setUebKey("uebKey"); app.setCentralAuth(true); @@ -769,12 +1214,12 @@ public class ExternalAccessRolesControllerTest { Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList); ResponseEntity response = new ResponseEntity<>(HttpStatus.OK); Mockito.when(externalAccessRolesService.getNameSpaceIfExists(app)).thenReturn(response); - assertNull(externalAccessRolesController.getEcompUser(mockedRequest, mockedResponse, "test12")); + externalAccessRolesController.getEcompUser(mockedRequest, mockedResponse, "test12"); } - + @Test - public void getEpUserTest() throws Exception{ - List applicationList = new ArrayList(); + public void getEpUserTest() throws Exception { + List applicationList = new ArrayList<>(); EPApp app = mockApp(); app.setUebKey("uebKey"); app.setCentralAuth(true); @@ -782,31 +1227,31 @@ public class ExternalAccessRolesControllerTest { Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList); ResponseEntity response = new ResponseEntity<>(HttpStatus.OK); Mockito.when(externalAccessRolesService.getNameSpaceIfExists(app)).thenReturn(response); - String user = "{\"id\":null,\"created\":null,\"modified\":null,\"createdId\":null,\"modifiedId\":null,\"rowNum\":null,\"auditUserId\":null,\"auditTrail\":null,\"orgId\":null,\"managerId\":null,\"firstName\":\"test\",\"middleInitial\":null,\"lastName\":null,\"phone\":null,\"fax\":null,\"cellular\":null,\"email\":null,\"addressId\":null,\"alertMethodCd\":null,\"hrid\":null,\"orgUserId\":null,\"orgCode\":null,\"address1\":null,\"address2\":null,\"city\":null,\"state\":null,\"zipCode\":null,\"country\":null,\"orgManagerUserId\":null,\"locationClli\":null,\"businessCountryCode\":null,\"businessCountryName\":null,\"businessUnit\":null,\"businessUnitName\":null,\"department\":null,\"departmentName\":null,\"companyCode\":null,\"company\":null,\"zipCodeSuffix\":null,\"jobTitle\":null,\"commandChain\":null,\"siloStatus\":null,\"costCenter\":null,\"financialLocCode\":null,\"loginId\":null,\"loginPwd\":null,\"lastLoginDate\":null,\"active\":false,\"internal\":false,\"selectedProfileId\":null,\"timeZoneId\":null,\"online\":false,\"chatId\":null,\"userApps\":[],\"pseudoRoles\":[],\"defaultUserApp\":null,\"roles\":[],\"fullName\":\"test null\"}"; - Mockito.when(externalAccessRolesService.getV2UserWithRoles("test12", mockedRequest.getHeader(uebKey))).thenReturn(user); + String user = "{\"id\":null,\"created\":null,\"modified\":null,\"createdId\":null,\"modifiedId\":null,\"rowNum\":null,\"auditUserId\":null,\"auditTrail\":null,\"orgId\":null,\"managerId\":null,\"firstName\":\"test\",\"middleInitial\":null,\"lastName\":null,\"phone\":null,\"fax\":null,\"cellular\":null,\"email\":null,\"addressId\":null,\"alertMethodCd\":null,\"hrid\":null,\"orgUserId\":null,\"orgCode\":null,\"address1\":null,\"address2\":null,\"city\":null,\"state\":null,\"zipCode\":null,\"country\":null,\"orgManagerUserId\":null,\"locationClli\":null,\"businessCountryCode\":null,\"businessCountryName\":null,\"businessUnit\":null,\"businessUnitName\":null,\"department\":null,\"departmentName\":null,\"companyCode\":null,\"company\":null,\"zipCodeSuffix\":null,\"jobTitle\":null,\"commandChain\":null,\"siloStatus\":null,\"costCenter\":null,\"financialLocCode\":null,\"loginId\":null,\"loginPwd\":null,\"lastLoginDate\":null,\"active\":false,\"internal\":false,\"selectedProfileId\":null,\"timeZoneId\":null,\"online\":false,\"chatId\":null,\"userApps\":[],\"pseudoRoles\":[],\"roles\":[]}"; + Mockito.when(externalAccessRolesService.getV2UserWithRoles("test12", mockedRequest.getHeader(uebKey))) + .thenReturn(user); User EPuser = new User(); EPuser.setFirstName("test"); Mockito.when(userservice.userMapper(user)).thenReturn(EPuser); String res = "{\"orgId\":null,\"managerId\":null,\"firstName\":\"test\",\"middleInitial\":null,\"lastName\":null,\"phone\":null,\"email\":null,\"hrid\":null,\"orgUserId\":null,\"orgCode\":null,\"orgManagerUserId\":null,\"jobTitle\":null,\"loginId\":null,\"active\":false,\"roles\":[]}"; - assertEquals(externalAccessRolesController.getEcompUser(mockedRequest, mockedResponse, "test12"),res); + assertEquals(externalAccessRolesController.getEcompUser(mockedRequest, mockedResponse, "test12"), res); } - + @Test - public void getEpUserExceptionTest() throws Exception{ - List applicationList = new ArrayList(); + public void getEpUserExceptionTest() throws Exception { + List applicationList = new ArrayList<>(); EPApp app = mockApp(); app.setCentralAuth(true); Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList); StringWriter sw = new StringWriter(); PrintWriter writer = new PrintWriter(sw); - Mockito.when(mockedResponse.getWriter()).thenReturn(writer); - assertNull(externalAccessRolesController.getEcompUser(mockedRequest, mockedResponse, "test12")); + Mockito.when(mockedResponse.getWriter()).thenReturn(writer); + externalAccessRolesController.getEcompUser(mockedRequest, mockedResponse, "test12"); } - + @Test - public void getEPRolesOfApplicationTest() throws Exception - { - List applicationList = new ArrayList(); + public void getEPRolesOfApplicationTest() throws Exception { + List applicationList = new ArrayList<>(); EPApp app = mockApp(); app.setUebKey("uebKey"); app.setCentralAuth(true); @@ -819,17 +1264,19 @@ public class ExternalAccessRolesControllerTest { CentralV2Role role = new CentralV2Role(); role.setName("test"); cenRoleList.add(role); - Mockito.when(externalAccessRolesService.getActiveRoles(mockedRequest.getHeader(uebKey))).thenReturn(cenRoleList); + Mockito.when(externalAccessRolesService.getActiveRoles(mockedRequest.getHeader(uebKey))) + .thenReturn(cenRoleList); List ecompRoles = new ArrayList<>(); EcompRole eprole = new EcompRole(); eprole.setName("test"); ecompRoles.add(eprole); - assertEquals(ecompRoles,externalAccessRolesController.getEcompRolesOfApplication(mockedRequest, mockedResponse)); - } + assertEquals(ecompRoles, + externalAccessRolesController.getEcompRolesOfApplication(mockedRequest, mockedResponse)); + } + @Test - public void getEPRolesOfApplicationNullTest() throws Exception - { - List applicationList = new ArrayList(); + public void getEPRolesOfApplicationNullTest() throws Exception { + List applicationList = new ArrayList<>(); EPApp app = mockApp(); app.setUebKey("uebKey"); app.setCentralAuth(true); @@ -844,13 +1291,11 @@ public class ExternalAccessRolesControllerTest { cenRoleList.add(role); Mockito.when(externalAccessRolesService.getActiveRoles(mockedRequest.getHeader(uebKey))).thenReturn(null); assertNull(externalAccessRolesController.getEcompRolesOfApplication(mockedRequest, mockedResponse)); - } - + @Test - public void getEPRolesOfApplicationExceptionTest() throws Exception - { - List applicationList = new ArrayList(); + public void getEPRolesOfApplicationExceptionTest() throws Exception { + List applicationList = new ArrayList<>(); EPApp app = mockApp(); app.setCentralAuth(true); Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList); @@ -858,6 +1303,236 @@ public class ExternalAccessRolesControllerTest { PrintWriter writer = new PrintWriter(sw); Mockito.when(mockedResponse.getWriter()).thenReturn(writer); assertNull(externalAccessRolesController.getEcompRolesOfApplication(mockedRequest, mockedResponse)); + } + + @Test + public void saveRoleTest() throws Exception { + PowerMockito.mockStatic(EcompPortalUtils.class); + PowerMockito.mockStatic(SystemProperties.class); + PowerMockito.mockStatic(EPCommonSystemProperties.class); + PowerMockito.mockStatic(PortalConstants.class); + PortalRestResponse actualPortalRestResponse = null; + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage("Successfully Saved"); + expectedportalRestResponse.setResponse("Success"); + EPUser user = mockUser.mockEPUser(); + List userList = new ArrayList<>(); + userList.add(user); + EPApp app = mockApp(); + app.setCentralAuth(true); + List appList = new ArrayList<>(); + appList.add(app); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK); + Role role = new Role(); + ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(true, + "Success"); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(appList); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(appList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getUser(mockedRequest.getHeader("LoginId"))).thenReturn(userList); + Mockito.when(externalAccessRolesService.saveRoleForApplication(role, mockedRequest.getHeader("uebkey"))) + .thenReturn(externalRequestFieldsValidator); + actualPortalRestResponse = externalAccessRolesController.saveRole(mockedRequest, mockedResponse, role); + assertEquals(actualPortalRestResponse.getStatus(), expectedportalRestResponse.getStatus()); + } + + @Test + public void saveRoleNegativeTest() throws Exception { + PowerMockito.mockStatic(EcompPortalUtils.class); + PowerMockito.mockStatic(SystemProperties.class); + PowerMockito.mockStatic(EPCommonSystemProperties.class); + PowerMockito.mockStatic(PortalConstants.class); + PortalRestResponse actualPortalRestResponse = null; + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage("Successfully Saved"); + expectedportalRestResponse.setResponse("Success"); + EPUser user = mockUser.mockEPUser(); + List userList = new ArrayList<>(); + userList.add(user); + EPApp app = mockApp(); + app.setCentralAuth(true); + List appList = new ArrayList<>(); + appList.add(app); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); + Role role = new Role(); + ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(false, + "Failed"); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(appList); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(appList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getUser(mockedRequest.getHeader("LoginId"))).thenReturn(userList); + Mockito.when(externalAccessRolesService.saveRoleForApplication(role, mockedRequest.getHeader("uebkey"))) + .thenReturn(externalRequestFieldsValidator); + actualPortalRestResponse = externalAccessRolesController.saveRole(mockedRequest, mockedResponse, role); + assertEquals(actualPortalRestResponse.getStatus(), expectedportalRestResponse.getStatus()); + } + + @Test + public void saveRole406Test() throws Exception { + PowerMockito.mockStatic(EcompPortalUtils.class); + PowerMockito.mockStatic(SystemProperties.class); + PowerMockito.mockStatic(EPCommonSystemProperties.class); + PowerMockito.mockStatic(PortalConstants.class); + PortalRestResponse actualPortalRestResponse = null; + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage("Successfully Saved"); + expectedportalRestResponse.setResponse("Failed"); + EPUser user = mockUser.mockEPUser(); + List userList = new ArrayList<>(); + userList.add(user); + EPApp app = mockApp(); + app.setCentralAuth(true); + List appList = new ArrayList<>(); + appList.add(app); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); + Role role = new Role(); + ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(false, + "406"); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(appList); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(appList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getUser(mockedRequest.getHeader("LoginId"))).thenReturn(userList); + Mockito.when(externalAccessRolesService.saveRoleForApplication(role, mockedRequest.getHeader("uebkey"))) + .thenReturn(externalRequestFieldsValidator); + actualPortalRestResponse = externalAccessRolesController.saveRole(mockedRequest, mockedResponse, role); + assertEquals(actualPortalRestResponse.getStatus(), expectedportalRestResponse.getStatus()); + } + + @Test(expected = NullPointerException.class) + public void saveRoleNullExceptionTest() throws Exception { + List applicationList = new ArrayList<>(); + EPApp app = mockApp(); + applicationList.add(app); + Role role = new Role(); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList); + ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(false, + "failed"); + Mockito.when(externalAccessRolesService.deleteDependencyRoleRecord(Matchers.anyLong(), Matchers.anyString(), + Matchers.anyString())).thenReturn(externalRequestFieldsValidator); + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage("Failed to deleteRole"); + expectedportalRestResponse.setResponse("Failed"); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); + PortalRestResponse actualResponse = externalAccessRolesController.saveRole(mockedRequest, + mockedResponse, role); + assertEquals(actualResponse, null); + } + + @Test + public void deleteRoleTest() throws Exception { + PowerMockito.mockStatic(EcompPortalUtils.class); + PowerMockito.mockStatic(SystemProperties.class); + PowerMockito.mockStatic(EPCommonSystemProperties.class); + PowerMockito.mockStatic(PortalConstants.class); + PortalRestResponse actualPortalRestResponse = null; + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage("Successfully Deleted"); + expectedportalRestResponse.setResponse("Success"); + EPUser user = mockUser.mockEPUser(); + List userList = new ArrayList<>(); + userList.add(user); + EPApp app = mockApp(); + app.setCentralAuth(true); + List appList = new ArrayList<>(); + appList.add(app); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK); + String code = "test"; + boolean deleteResponse = true; + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(appList); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(appList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getUser(mockedRequest.getHeader("LoginId"))).thenReturn(userList); + Mockito.when(externalAccessRolesService.deleteRoleForApplication(code, mockedRequest.getHeader("uebkey"))) + .thenReturn(deleteResponse); + actualPortalRestResponse = externalAccessRolesController.deleteRole(mockedRequest, mockedResponse, code); + assertEquals(actualPortalRestResponse.getStatus(), expectedportalRestResponse.getStatus()); + } + + @Test + public void deleteRoleXSSTest() throws Exception { + PowerMockito.mockStatic(EcompPortalUtils.class); + PowerMockito.mockStatic(SystemProperties.class); + PowerMockito.mockStatic(EPCommonSystemProperties.class); + PowerMockito.mockStatic(PortalConstants.class); + PortalRestResponse actualPortalRestResponse = null; + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage("Failed to deleteRole, not valid data."); + expectedportalRestResponse.setResponse("Failed"); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); + EPUser user = mockUser.mockEPUser(); + List userList = new ArrayList<>(); + userList.add(user); + EPApp app = mockApp(); + app.setCentralAuth(true); + List appList = new ArrayList<>(); + appList.add(app); + String code = ""; + boolean deleteResponse = true; + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(appList); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(appList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getUser(mockedRequest.getHeader("LoginId"))).thenReturn(userList); + Mockito.when(externalAccessRolesService.deleteRoleForApplication(code, mockedRequest.getHeader("uebkey"))) + .thenReturn(deleteResponse); + actualPortalRestResponse = externalAccessRolesController.deleteRole(mockedRequest, mockedResponse, code); + assertEquals(actualPortalRestResponse.getStatus(), expectedportalRestResponse.getStatus()); + } + + @Test + public void deleteRoleNegativeTest() throws Exception { + PowerMockito.mockStatic(EcompPortalUtils.class); + PowerMockito.mockStatic(SystemProperties.class); + PowerMockito.mockStatic(EPCommonSystemProperties.class); + PowerMockito.mockStatic(PortalConstants.class); + PortalRestResponse actualPortalRestResponse = null; + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage("Failed to delete Role for 'test"); + expectedportalRestResponse.setResponse("Failed"); + EPUser user = mockUser.mockEPUser(); + List userList = new ArrayList<>(); + userList.add(user); + EPApp app = mockApp(); + app.setCentralAuth(true); + List appList = new ArrayList<>(); + appList.add(app); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); + String code = "test"; + boolean deleteResponse = false; + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(appList); + ResponseEntity response = new ResponseEntity<>(HttpStatus.FOUND); + Mockito.when(externalAccessRolesService.getNameSpaceIfExists(appList.get(0))).thenReturn(response); + Mockito.when(externalAccessRolesService.getUser(mockedRequest.getHeader("LoginId"))).thenReturn(userList); + Mockito.when(externalAccessRolesService.deleteRoleForApplication(code, mockedRequest.getHeader("uebkey"))) + .thenReturn(deleteResponse); + actualPortalRestResponse = externalAccessRolesController.deleteRole(mockedRequest, mockedResponse, code); + assertEquals(actualPortalRestResponse.getStatus(), expectedportalRestResponse.getStatus()); + } + @Test + public void deleteDependcyRoleRecordTest() throws Exception { + ExternalRequestFieldsValidator removeResult = new ExternalRequestFieldsValidator(true, "success"); + PortalRestResponse portalRestResponse = null; + PortalRestResponse expectedportalRestResponse = new PortalRestResponse<>(); + expectedportalRestResponse.setMessage("Invalid credentials!"); + expectedportalRestResponse.setResponse("Failed"); + expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR); + long roleId = 123; + String LoginId = "loginId"; + List appList = new ArrayList<>(); + Mockito.when(mockedRequest.getHeader("uebkey")).thenReturn(uebKey); + Mockito.when(mockedRequest.getHeader("LoginId")).thenReturn(LoginId); + Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("uebkey"))).thenReturn(appList); + Mockito.when(externalAccessRolesService.deleteDependencyRoleRecord(roleId, mockedRequest.getHeader("uebkey"), + mockedRequest.getHeader("LoginId"))).thenReturn(removeResult); + portalRestResponse = externalAccessRolesController.deleteDependencyRoleRecord(mockedRequest, mockedResponse, + roleId); + assertEquals(expectedportalRestResponse, portalRestResponse); } + }