diff options
4 files changed, 96 insertions, 28 deletions
diff --git a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/FunctionalMenuController.java b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/FunctionalMenuController.java index 1b54ebb4..5a5892fb 100644 --- a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/FunctionalMenuController.java +++ b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/FunctionalMenuController.java @@ -553,7 +553,7 @@ public class FunctionalMenuController extends EPRestrictedBaseController { EPUser userResult = searchService.searchUserByUserId(orgUserIdStr); emailStr = userResult.getEmail(); } - SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm:ssZ"); + SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss Z a"); Date lastLoginDate = user.getLastLoginDate(); if (lastLoginDate == null) { // should never happen diff --git a/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/controller/FunctionalMenuControllerTest.java b/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/controller/FunctionalMenuControllerTest.java index 488717ca..dcbbd951 100644 --- a/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/controller/FunctionalMenuControllerTest.java +++ b/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/controller/FunctionalMenuControllerTest.java @@ -247,7 +247,7 @@ public class FunctionalMenuControllerTest extends MockitoTestSuite { @Test public void getFunctionalMenuStaticInfoTest(){ String fnMenuStaticactualResponse = null; - String fnMenuStaticexpectedResponse = "{\"firstName\":\"test\",\"lastName\":\"test\",\"last_login\":\"09/08/2017 03:48:13-0400\",\"userId\":\"guestT\",\"email\":\"test\"}"; + String fnMenuStaticexpectedResponse = "{\"firstName\":\"test\",\"lastName\":\"test\",\"last_login\":\"09/08/2017 03:48:13 -0400 am\",\"userId\":\"guestT\",\"email\":\"test\"}"; String orgUserIdStr = null; EPUser user = mockUser.mockEPUser(); diff --git a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/LoginController.java b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/LoginController.java index 0ee11715..f4c37466 100644 --- a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/LoginController.java +++ b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/LoginController.java @@ -55,7 +55,6 @@ import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang.StringUtils; import org.json.JSONObject; import org.onap.portalapp.command.EPLoginBean; -import org.onap.portalapp.controller.EPUnRestrictedBaseController; import org.onap.portalapp.portal.domain.SharedContext; import org.onap.portalapp.portal.service.EPLoginService; import org.onap.portalapp.portal.service.EPRoleFunctionService; @@ -66,7 +65,6 @@ import org.onap.portalapp.util.EPUserUtils; import org.onap.portalapp.util.SessionCookieUtil; import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; import org.onap.portalsdk.core.menu.MenuProperties; -import org.onap.portalsdk.core.onboarding.util.CipherUtil; import org.onap.portalsdk.core.util.SystemProperties; import org.slf4j.MDC; import org.springframework.beans.factory.annotation.Autowired; diff --git a/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/LoginControllerTest.java b/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/LoginControllerTest.java index 983584e9..bdbb7d47 100644 --- a/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/LoginControllerTest.java +++ b/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/LoginControllerTest.java @@ -37,85 +37,155 @@ */ package org.onap.portalapp.portal.controller; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.StringReader; +import java.nio.charset.StandardCharsets; +import java.util.HashSet; +import java.util.Set; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import org.json.JSONObject; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; +import org.mockito.Matchers; import org.mockito.Mock; -import org.mockito.Mockito; import org.mockito.MockitoAnnotations; +import org.onap.portalapp.command.EPLoginBean; import org.onap.portalapp.controller.LoginController; +import org.onap.portalapp.portal.core.MockEPUser; +import org.onap.portalapp.portal.domain.EPUser; import org.onap.portalapp.portal.framework.MockitoTestSuite; import org.onap.portalapp.portal.service.EPLoginService; import org.onap.portalapp.portal.service.EPRoleFunctionService; import org.onap.portalapp.portal.service.EPRoleService; import org.onap.portalapp.portal.service.SharedContextService; +import org.onap.portalapp.portal.utils.EPCommonSystemProperties; import org.onap.portalapp.service.EPProfileService; +import org.onap.portalsdk.core.domain.MenuData; +import org.onap.portalsdk.core.onboarding.util.CipherUtil; import org.onap.portalsdk.core.util.SystemProperties; +import org.onap.portalsdk.core.web.support.AppUtils; +import org.onap.portalsdk.core.web.support.UserUtils; import org.powermock.api.mockito.PowerMockito; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; +import org.springframework.mock.web.DelegatingServletInputStream; import org.springframework.web.servlet.ModelAndView; @RunWith(PowerMockRunner.class) -@PrepareForTest(SystemProperties.class) +@PrepareForTest({ SystemProperties.class, CipherUtil.class, AppUtils.class, UserUtils.class, EPCommonSystemProperties.class}) public class LoginControllerTest { @Mock EPProfileService service; @Mock - EPLoginService loginService; + EPLoginService loginService; @Mock - SharedContextService sharedContextService; + SharedContextService sharedContextService; @Mock - EPRoleService roleService; + EPRoleService roleService; @Mock - EPRoleFunctionService ePRoleFunctionService; - + EPRoleFunctionService ePRoleFunctionService; + @InjectMocks LoginController loginController = new LoginController(); - + @Before public void setup() { MockitoAnnotations.initMocks(this); } + MockEPUser mockUser = new MockEPUser(); + MockitoTestSuite mockitoTestSuite = new MockitoTestSuite(); HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest(); HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse(); NullPointerException nullPointerException = new NullPointerException(); - + @Test - public void loginIfAuthNullTest() - { + public void loginIfAuthNullTest() { PowerMockito.mockStatic(SystemProperties.class); - Mockito.when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM)).thenReturn(null); + when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM)).thenReturn(null); ModelAndView result = loginController.login(mockedRequest); - assertEquals(result.getViewName(),"openIdLogin") ; + assertEquals(result.getViewName(), "openIdLogin"); } - + @Test - public void loginIfAuthOIDCTest() - { + public void loginIfAuthOIDCTest() { PowerMockito.mockStatic(SystemProperties.class); - Mockito.when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM)).thenReturn("OIDC"); + when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM)).thenReturn("OIDC"); ModelAndView result = loginController.login(mockedRequest); - assertEquals(result.getViewName(),"login") ; + assertEquals(result.getViewName(), "login"); } - + @Test - public void loginTest() - { + public void loginTest() { PowerMockito.mockStatic(SystemProperties.class); - Mockito.when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM)).thenReturn("Test"); + when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM)).thenReturn("Test"); ModelAndView result = loginController.login(mockedRequest); - assertEquals(result.getViewName(),"login") ; + assertEquals(result.getViewName(), "login"); + } + + @Test + public void loginValidateTest() throws Exception { + PowerMockito.mockStatic(SystemProperties.class); + PowerMockito.mockStatic(AppUtils.class); + PowerMockito.mockStatic(UserUtils.class); + PowerMockito.mockStatic(CipherUtil.class); + PowerMockito.mockStatic(EPCommonSystemProperties.class); + EPUser user = mockUser.mockEPUser(); + HttpServletRequest request = mock(HttpServletRequest.class); + HttpServletResponse response = mock(HttpServletResponse.class); + HttpSession session = mock(HttpSession.class); + String json = "{\"loginId\":\"test\", \"password\":\"xyz\"}"; + when(request.getInputStream()).thenReturn( + new DelegatingServletInputStream(new ByteArrayInputStream(json.getBytes(StandardCharsets.UTF_8)))); + when(request.getReader()).thenReturn(new BufferedReader(new StringReader(json))); + when(request.getContentType()).thenReturn("application/json"); + when(request.getCharacterEncoding()).thenReturn("UTF-8"); + when(request.getAttribute("menu_properties_filename")).thenReturn("test"); + StringBuffer reqUrl = new StringBuffer("http://localhost.com"); + when(request.getRequestURL()).thenReturn(reqUrl); + when(request.getQueryString()).thenReturn("demo?test"); + when(request.getSession(true)).thenReturn(session); + when(request.getSession()).thenReturn(session); + EPLoginBean commandBean = new EPLoginBean(); + commandBean.setLoginId("guestT"); + commandBean.setUser(user); + commandBean.setOrgUserId("guestT"); + commandBean.setLoginPwd("xyz"); + Set<MenuData> menus = new HashSet<MenuData>(); + MenuData menuData = new MenuData(); + menuData.setFunctionCd("test"); + MenuData menuData2 = new MenuData(); + menuData2.setFunctionCd("test2"); + menus.add(menuData); + menus.add(menuData2); + commandBean.setMenu(menus); + commandBean.setBusinessDirectMenu(menus); + when(loginController.getLoginService().findUser(Matchers.any(EPLoginBean.class), Matchers.anyString(), + Matchers.any())).thenReturn(commandBean); + when(AppUtils.getSession(request)).thenReturn(session); + when(UserUtils.isAccessible(request, menuData.getFunctionCd())).thenReturn(true); + when(UserUtils.isAccessible(request, menuData2.getFunctionCd())).thenReturn(true); + when(EPCommonSystemProperties.getProperty(EPCommonSystemProperties.COOKIE_DOMAIN)).thenReturn("cookie_domain"); + when(CipherUtil.encryptPKC(Matchers.anyString(), Matchers.anyString())).thenReturn("guestT"); + String actual = loginController.loginValidate(request, response); + JSONObject expected = new JSONObject("{success: success}"); + assertNotEquals(actual, expected); } + } |