5093fae0a952207800ba6dd6fd8e7b2006d74dbf
[portal.git] / ecomp-portal-BE-os / src / test / java / org / openecomp / portalapp / portal / authentication / SimpleLoginStrategyTest.java
1 package org.openecomp.portalapp.portal.authentication;
2
3 import static org.junit.Assert.assertFalse;
4 import static org.junit.Assert.assertTrue;
5
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
8
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;
32
33 @RunWith(PowerMockRunner.class)
34 @PrepareForTest({ StringUtils.class, EPUserUtils.class, SessionCookieUtil.class, SystemProperties.class,
35                 SessionCookieUtil.class, MenuProperties.class })
36 public class SimpleLoginStrategyTest {
37
38         @InjectMocks
39         SimpleLoginStrategy simpleLoginStrategy = new SimpleLoginStrategy();
40
41         @Mock
42         EPLoginService loginService;
43         @Mock
44         EPRoleService roleService;
45         @Mock
46     EPRoleFunctionService ePRoleFunctionService;
47
48         @Before
49         public void setup() {
50                 MockitoAnnotations.initMocks(this);
51         }
52
53         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
54
55         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
56         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
57
58         NullPointerException nullPointerException = new NullPointerException();
59
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));
75         }
76
77         @Test
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));
89         }
90
91         @Test
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));
100         }
101
102         @Test
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));
111         }
112
113         @Test
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));
123         }
124
125         @Test(expected = Exception.class)
126         public void doLoginTest() throws Exception {
127                 simpleLoginStrategy.doLogin(mockedRequest, mockedResponse);
128         }
129
130         @Test(expected = PortalAPIException.class)
131         public void getUserIdTest() throws Exception {
132                 simpleLoginStrategy.getUserId(mockedRequest);
133         }
134 }