1 package org.openecomp.portalapp.portal.authentication;
3 import static org.junit.Assert.assertFalse;
4 import static org.junit.Assert.assertTrue;
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
9 import org.junit.Before;
10 import org.junit.Test;
11 import org.junit.runner.RunWith;
12 import org.mockito.InjectMocks;
13 import org.mockito.Mock;
14 import org.mockito.Mockito;
15 import org.mockito.MockitoAnnotations;
16 import org.openecomp.portalapp.authentication.SimpleLoginStrategy;
17 import org.openecomp.portalapp.command.EPLoginBean;
18 import org.openecomp.portalapp.portal.domain.EPUser;
19 import org.openecomp.portalapp.portal.framework.MockitoTestSuite;
20 import org.openecomp.portalapp.portal.service.EPLoginService;
21 import org.openecomp.portalapp.portal.service.EPRoleFunctionService;
22 import org.openecomp.portalapp.portal.service.EPRoleService;
23 import org.openecomp.portalapp.util.EPUserUtils;
24 import org.openecomp.portalapp.util.SessionCookieUtil;
25 import org.openecomp.portalsdk.core.menu.MenuProperties;
26 import org.openecomp.portalsdk.core.onboarding.exception.PortalAPIException;
27 import org.openecomp.portalsdk.core.util.SystemProperties;
28 import org.powermock.api.mockito.PowerMockito;
29 import org.powermock.core.classloader.annotations.PrepareForTest;
30 import org.powermock.modules.junit4.PowerMockRunner;
31 import org.springframework.util.StringUtils;
33 @RunWith(PowerMockRunner.class)
34 @PrepareForTest({ StringUtils.class, EPUserUtils.class, SessionCookieUtil.class, SystemProperties.class,
35 SessionCookieUtil.class, MenuProperties.class })
36 public class SimpleLoginStrategyTest {
39 SimpleLoginStrategy simpleLoginStrategy = new SimpleLoginStrategy();
42 EPLoginService loginService;
44 EPRoleService roleService;
46 EPRoleFunctionService ePRoleFunctionService;
50 MockitoAnnotations.initMocks(this);
53 MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
55 HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
56 HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
58 NullPointerException nullPointerException = new NullPointerException();
60 @Test(expected = Exception.class)
61 public void loginTest() throws Exception {
62 PowerMockito.mockStatic(MenuProperties.class);
63 PowerMockito.mockStatic(SessionCookieUtil.class);
64 PowerMockito.mockStatic(StringUtils.class);
65 Mockito.when(SessionCookieUtil.getUserIdFromCookie(mockedRequest, mockedResponse)).thenReturn("guestT");
66 Mockito.when(StringUtils.isEmpty("guestT")).thenReturn(false);
67 EPLoginBean commandBean = new EPLoginBean();
68 EPUser user = new EPUser();
69 commandBean.setUser(user);
70 commandBean.setOrgUserId("guestT");
71 Mockito.when(mockedRequest.getAttribute(MenuProperties.MENU_PROPERTIES_FILENAME_KEY))
72 .thenReturn("menu_properties_filename");
73 Mockito.when(loginService.findUser(commandBean, "menu_properties_filename", null)).thenReturn(commandBean);
74 assertTrue(simpleLoginStrategy.login(mockedRequest, mockedResponse));
78 public void loginIfUserEmptyTest() throws Exception {
79 PowerMockito.mockStatic(MenuProperties.class);
80 PowerMockito.mockStatic(SessionCookieUtil.class);
81 PowerMockito.mockStatic(StringUtils.class);
82 Mockito.when(SessionCookieUtil.getUserIdFromCookie(mockedRequest, mockedResponse)).thenReturn("guestT");
83 Mockito.when(StringUtils.isEmpty("guestT")).thenReturn(true);
84 EPLoginBean commandBean = new EPLoginBean();
85 EPUser user = new EPUser();
86 commandBean.setUser(user);
87 commandBean.setOrgUserId("guestT");
88 assertFalse(simpleLoginStrategy.login(mockedRequest, mockedResponse));
92 public void loginIfAuthIsBothTest() throws Exception {
93 PowerMockito.mockStatic(SystemProperties.class);
94 PowerMockito.mockStatic(SessionCookieUtil.class);
95 PowerMockito.mockStatic(StringUtils.class);
96 Mockito.when(SessionCookieUtil.getUserIdFromCookie(mockedRequest, mockedResponse)).thenReturn("guestT");
97 Mockito.when(StringUtils.isEmpty("guestT")).thenReturn(true);
98 Mockito.when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM)).thenReturn("BOTH");
99 assertFalse(simpleLoginStrategy.login(mockedRequest, mockedResponse));
103 public void loginIfAuthIsNotNullTest() throws Exception {
104 PowerMockito.mockStatic(SystemProperties.class);
105 PowerMockito.mockStatic(SessionCookieUtil.class);
106 PowerMockito.mockStatic(StringUtils.class);
107 Mockito.when(SessionCookieUtil.getUserIdFromCookie(mockedRequest, mockedResponse)).thenReturn("guestT");
108 Mockito.when(StringUtils.isEmpty("guestT")).thenReturn(true);
109 Mockito.when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM)).thenReturn("Test");
110 assertFalse(simpleLoginStrategy.login(mockedRequest, mockedResponse));
114 public void loginExceptionTest() throws Exception {
115 PowerMockito.mockStatic(SystemProperties.class);
116 PowerMockito.mockStatic(SessionCookieUtil.class);
117 PowerMockito.mockStatic(StringUtils.class);
118 Mockito.when(SessionCookieUtil.getUserIdFromCookie(mockedRequest, mockedResponse)).thenReturn("guestT");
119 Mockito.when(StringUtils.isEmpty("guestT")).thenReturn(true);
120 Mockito.when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM))
121 .thenThrow(nullPointerException);
122 assertFalse(simpleLoginStrategy.login(mockedRequest, mockedResponse));
125 @Test(expected = Exception.class)
126 public void doLoginTest() throws Exception {
127 simpleLoginStrategy.doLogin(mockedRequest, mockedResponse);
130 @Test(expected = PortalAPIException.class)
131 public void getUserIdTest() throws Exception {
132 simpleLoginStrategy.getUserId(mockedRequest);