diff options
Diffstat (limited to 'ecomp-portal-BE-os/src/test')
-rw-r--r-- | ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/LoginControllerTest.java | 118 |
1 files changed, 94 insertions, 24 deletions
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); } + } |