From: Hima Elisetty Date: Tue, 24 Apr 2018 20:56:26 +0000 (-0400) Subject: Fix to delete portal admin X-Git-Tag: v2.2.0~7^2 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=portal.git;a=commitdiff_plain;h=1376b6ece556079a2ff48db624edd2fec5e8f32a Fix to delete portal admin Issue-ID: PORTAL-220 Portal admin deletion Change-Id: Id7c0b94470e81772d25e3af1a077b327de3f79c4 Change-Id: I620b76c4f20227236655c6ff06bb455890494061 Signed-off-by: Hima Elisetty --- diff --git a/ecomp-portal-BE-os/README.md b/ecomp-portal-BE-os/README.md index ffd60001..0a17efa6 100644 --- a/ecomp-portal-BE-os/README.md +++ b/ecomp-portal-BE-os/README.md @@ -39,6 +39,7 @@ Version 2.2 - [Portal-155] Review security issues: portal - [Portal-19] Removed the ecomp keyword from the license text - [Portal-241] To reteieve roles on Users page for sdk(external app) +- [Portal-220] Fix to delete a portal admin - [Portal-256] Fix to make the userRole dynamic on Users modal popup Version 1.1.0 (Amsterdam), November 2017 diff --git a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/portal/controller/PortalAdminController.java b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/portal/controller/PortalAdminController.java deleted file mode 100644 index bdb017ed..00000000 --- a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/portal/controller/PortalAdminController.java +++ /dev/null @@ -1,156 +0,0 @@ -/*- - * ============LICENSE_START========================================== - * ONAP Portal - * =================================================================== - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * =================================================================== - * - * Unless otherwise specified, all software contained herein is licensed - * under the Apache License, Version 2.0 (the "License"); - * you may not use this software except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Unless otherwise specified, all documentation contained herein is licensed - * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); - * you may not use this documentation except in compliance with the License. - * You may obtain a copy of the License at - * - * https://creativecommons.org/licenses/by/4.0/ - * - * Unless required by applicable law or agreed to in writing, documentation - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ============LICENSE_END============================================ - * - * - */ -package org.onap.portalapp.portal.controller; - -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.onap.portalapp.controller.EPRestrictedBaseController; -import org.onap.portalapp.portal.controller.PortalAdminController; -import org.onap.portalapp.portal.domain.EPRole; -import org.onap.portalapp.portal.domain.EPUser; -import org.onap.portalapp.portal.logging.aop.EPAuditLog; -import org.onap.portalapp.portal.service.AdminRolesService; -import org.onap.portalapp.portal.service.PortalAdminService; -import org.onap.portalapp.portal.transport.FieldsValidator; -import org.onap.portalapp.portal.transport.PortalAdmin; -import org.onap.portalapp.portal.utils.EcompPortalUtils; -import org.onap.portalapp.util.EPUserUtils; -import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.EnableAspectJAutoProxy; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@org.springframework.context.annotation.Configuration -@EnableAspectJAutoProxy -@EPAuditLog -public class PortalAdminController extends EPRestrictedBaseController { - @Autowired - PortalAdminService portalAdminService; - @Autowired - AdminRolesService adminRolesService; - - EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(PortalAdminController.class); - - @RequestMapping(value = { "/portalApi/portalAdmins" }, method = RequestMethod.GET, produces = "application/json") - public List getPortalAdmins(HttpServletRequest request, HttpServletResponse response) { - EPUser user = EPUserUtils.getUserSession(request); - List portalAdmins = null; - if (user == null) { - logger.debug(EELFLoggerDelegate.debugLogger, "PortalAdminController.getPortalAdmins, null user"); - EcompPortalUtils.setBadPermissions(user, response, "getPortalAdmins"); - } else if (!adminRolesService.isSuperAdmin(user)) { - logger.debug(EELFLoggerDelegate.debugLogger, "PortalAdminController.getPortalAdmins, bad permissions"); - EcompPortalUtils.setBadPermissions(user, response, "createPortalAdmin"); - } else { - // return the list of portal admins - portalAdmins = portalAdminService.getPortalAdmins(); - logger.debug(EELFLoggerDelegate.debugLogger, "portalAdmins: called getPortalAdmins()"); - EcompPortalUtils.logAndSerializeObject("/portalApi/getPortalAdmins", "result =", portalAdmins); - } - - return portalAdmins; - } - - /** - * RESTful service method to create a new portal admin. Requirement: you - * must be the Onap portal super admin user. - */ - - @RequestMapping(value = { "/portalApi/portalAdmin" }, method = RequestMethod.POST) - public FieldsValidator createPortalAdmin(HttpServletRequest request, @RequestBody String userid, - HttpServletResponse response) { - EPUser user = EPUserUtils.getUserSession(request); - FieldsValidator fieldsValidator = null; - if (user == null) { - logger.debug(EELFLoggerDelegate.debugLogger, "PortalAdminController.createPortalAdmin, null user"); - EcompPortalUtils.setBadPermissions(user, response, "createPortalAdmin"); - } else if (!adminRolesService.isSuperAdmin(user)) { - logger.debug(EELFLoggerDelegate.debugLogger, "PortalAdminController.createPortalAdmin bad permissions"); - EcompPortalUtils.setBadPermissions(user, response, "createPortalAdmin"); - } else { - fieldsValidator = portalAdminService.createPortalAdmin(userid); - response.setStatus(fieldsValidator.httpStatusCode.intValue()); - } - EcompPortalUtils.logAndSerializeObject("/portalAdmin", "POST result =", response.getStatus()); - - return fieldsValidator; - } - - @RequestMapping(value = { "/portalApi/portalAdmin/{orgUserId}" }, method = RequestMethod.DELETE) - public FieldsValidator deletePortalAdmin(HttpServletRequest request, @PathVariable("orgUserId") Long orgUserId, - HttpServletResponse response) { - EPUser user = EPUserUtils.getUserSession(request); - FieldsValidator fieldsValidator = null; - if (!adminRolesService.isSuperAdmin(user)) { - EcompPortalUtils.setBadPermissions(user, response, "deletePortalAdmin"); - } else { - fieldsValidator = portalAdminService.deletePortalAdmin(orgUserId); - response.setStatus(fieldsValidator.httpStatusCode.intValue()); - } - EcompPortalUtils.logAndSerializeObject("/portalAdmin", "DELETE result =", response.getStatus()); - - return fieldsValidator; - } - - @RequestMapping(value = { "/portalApi/adminAppsRoles/{appId}" }, method = RequestMethod.GET, produces = "application/json") - public List getRolesByApp(HttpServletRequest request, @PathVariable("appId") Long appId, - HttpServletResponse response) { - EPUser user = EPUserUtils.getUserSession(request); - List rolesByApp = null; - - try { - if (user == null) { - EcompPortalUtils.setBadPermissions(user, response, "getUserApps"); - } else { - rolesByApp = adminRolesService.getRolesByApp(user, appId); - } - } catch (Exception e) { - logger.error(EELFLoggerDelegate.errorLogger, "getRolesByApp failed", e); - } - - return rolesByApp; - } -} diff --git a/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/PortalAdminControllerOSTest.java b/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/PortalAdminControllerOSTest.java deleted file mode 100644 index 181531b8..00000000 --- a/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/PortalAdminControllerOSTest.java +++ /dev/null @@ -1,242 +0,0 @@ -/*- - * ============LICENSE_START========================================== - * ONAP Portal - * =================================================================== - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * =================================================================== - * - * Unless otherwise specified, all software contained herein is licensed - * under the Apache License, Version 2.0 (the "License"); - * you may not use this software except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Unless otherwise specified, all documentation contained herein is licensed - * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); - * you may not use this documentation except in compliance with the License. - * You may obtain a copy of the License at - * - * https://creativecommons.org/licenses/by/4.0/ - * - * Unless required by applicable law or agreed to in writing, documentation - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ============LICENSE_END============================================ - * - * - */ -package org.onap.portalapp.portal.controller; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.junit.Before; -import org.junit.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; -import org.onap.portalapp.portal.controller.PortalAdminController; -import org.onap.portalapp.portal.domain.EPRole; -import org.onap.portalapp.portal.domain.EPUser; -import org.onap.portalapp.portal.framework.MockEPUser; -import org.onap.portalapp.portal.framework.MockitoTestSuite; -import org.onap.portalapp.portal.service.AdminRolesService; -import org.onap.portalapp.portal.service.AdminRolesServiceImpl; -import org.onap.portalapp.portal.service.PortalAdminService; -import org.onap.portalapp.portal.service.PortalAdminServiceImpl; -import org.onap.portalapp.portal.transport.FieldsValidator; -import org.onap.portalapp.portal.transport.PortalAdmin; -import org.onap.portalapp.portal.utils.EcompPortalUtils; -import org.onap.portalapp.util.EPUserUtils; -import org.onap.portalsdk.core.service.AuditService; -import org.onap.portalsdk.core.service.AuditServiceImpl; - -public class PortalAdminControllerOSTest { - - @InjectMocks - PortalAdminController portalAdminController = new PortalAdminController(); - - @Mock - AdminRolesService adminRolesService = new AdminRolesServiceImpl(); - - @Mock - PortalAdminService portalAdminService = new PortalAdminServiceImpl(); - - @Mock - AuditService auditService = new AuditServiceImpl(); - - - @Mock - EcompPortalUtils ecompPortalUtils = new EcompPortalUtils(); - - @Before - public void setup() { - MockitoAnnotations.initMocks(this); - } - - MockitoTestSuite mockitoTestSuite = new MockitoTestSuite(); - - HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest(); - HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse(); - NullPointerException nullPointerException = new NullPointerException(); - - @Mock - EPUserUtils ePUserUtils = new EPUserUtils(); - - MockEPUser mockUser = new MockEPUser(); - - @Test - public void deletePortalAdminIfUserIsSuperAdminTest() - { - EPUser user = mockUser.mockEPUser(); - Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user); - Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false); - Long userInfo = (long) 12; - assertNull(portalAdminController.deletePortalAdmin(mockedRequest, userInfo, mockedResponse)); - - } - - @Test - public void deletePortalAdminTest() - { - EPUser user = mockUser.mockEPUser(); - Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user); - - FieldsValidator expectedFieldValidator = new FieldsValidator(); - expectedFieldValidator.setHttpStatusCode((long) 200); - expectedFieldValidator.setFields(null); - expectedFieldValidator.setErrorCode(null); - FieldsValidator actualFieldValidator = new FieldsValidator(); - Long userInfo = (long) 12; - Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true); - Mockito.when(portalAdminService.deletePortalAdmin((long) 12)).thenReturn(expectedFieldValidator); - actualFieldValidator = portalAdminController.deletePortalAdmin(mockedRequest, userInfo, mockedResponse); - assertEquals(actualFieldValidator,expectedFieldValidator); - - } - - @Test - public void deletePortalAdminWithNoUserInfoTest() - { - EPUser user = mockUser.mockEPUser(); - Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user); - Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false); - Long userInfo = null; - assertNull(portalAdminController.deletePortalAdmin(mockedRequest, userInfo, mockedResponse)); - } - - @Test - public void getRolesByAppExceptionTest() - { - EPUser user = mockUser.mockEPUser();; - Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user); - List expectedRoleList = new ArrayList(); - EPRole ePRole = new EPRole(); - expectedRoleList.add(ePRole); - Long appId = (long) 1; - Mockito.when(adminRolesService.getRolesByApp(user, appId)).thenThrow(nullPointerException); - assertNull(portalAdminController.getRolesByApp(mockedRequest, appId, mockedResponse)); - } - - @Test - public void getRolesByAppIfUserNullTest() - { - EPUser user = null; - Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user); - Long appId = (long) 1; - assertNull(portalAdminController.getRolesByApp(mockedRequest, appId, mockedResponse)); - } - - @Test - public void getRolesByAppTest() - { - EPUser user = mockUser.mockEPUser(); - Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user); - List expectedRoleList = new ArrayList(); - EPRole ePRole = new EPRole(); - expectedRoleList.add(ePRole); - Long appId = (long) 1; - Mockito.when(adminRolesService.getRolesByApp(user, appId)).thenReturn(expectedRoleList); - List actualRoleList = portalAdminController.getRolesByApp(mockedRequest, appId, mockedResponse); - assertEquals(actualRoleList,expectedRoleList); - } - - @Test - public void createPortalAdminIfUserNullTest() - { - Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(null); - assertNull(portalAdminController.createPortalAdmin(mockedRequest, "guestT", mockedResponse)); - } - - - @Test - public void createPortalAdminIfUserIsSuperAdminTest() - { - - EPUser user = mockUser.mockEPUser(); - Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user); - FieldsValidator expectedFieldValidator = new FieldsValidator(); - expectedFieldValidator.setHttpStatusCode((long) 200); - expectedFieldValidator.setFields(null); - expectedFieldValidator.setErrorCode(null); - FieldsValidator actualFieldValidator = new FieldsValidator(); - Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true); - Mockito.when(portalAdminService.createPortalAdmin("guestT")).thenReturn(expectedFieldValidator); - actualFieldValidator = portalAdminController.createPortalAdmin(mockedRequest, "guestT", mockedResponse); - assertEquals(actualFieldValidator,expectedFieldValidator); - } - - @Test - public void createPortalAdminIfUserIsNotSuperAdminTest() - { - EPUser user = mockUser.mockEPUser(); - Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user); - Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false); - assertNull(portalAdminController.createPortalAdmin(mockedRequest, "guestT", mockedResponse)); - } - - @Test - public void getPortalAdminsIfUserNullTest() - { - Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(null); - assertNull(portalAdminController.getPortalAdmins(mockedRequest, mockedResponse)); - } - - @Test - public void getPortalAdminsIfUserAdminTest() - { - EPUser user = mockUser.mockEPUser(); - Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user); - List portalAdmins = new ArrayList<>(); - Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true); - Mockito.when(portalAdminService.getPortalAdmins()).thenReturn(portalAdmins); - List actualortalAdmins = portalAdminController.getPortalAdmins(mockedRequest, mockedResponse); - assertEquals(actualortalAdmins,portalAdmins); - } - - @Test - public void getPortalAdminIfUserIsNotSuperAdminTest() - { - EPUser user = mockUser.mockEPUser(); - Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user); - Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false); - assertNull(portalAdminController.getPortalAdmins(mockedRequest, mockedResponse)); - } -}