1 package org.openecomp.portalapp.portal.authentication;
3 import static org.junit.Assert.*;
5 import javax.servlet.http.HttpServletRequest;
6 import javax.servlet.http.HttpServletResponse;
8 import org.openecomp.portalsdk.core.onboarding.exception.PortalAPIException;
9 import org.openecomp.portalsdk.core.util.SystemProperties;
11 import org.junit.Before;
12 import org.junit.Test;
13 import org.junit.runner.RunWith;
14 import org.mitre.openid.connect.model.DefaultUserInfo;
15 import org.mitre.openid.connect.model.UserInfo;
16 import org.mockito.InjectMocks;
17 import org.mockito.Mockito;
18 import org.mockito.MockitoAnnotations;
19 import org.openecomp.portalapp.authentication.OpenIdConnectLoginStrategy;
20 import org.openecomp.portalapp.portal.framework.MockitoTestSuite;
21 import org.openecomp.portalapp.portal.utils.EPSystemProperties;
22 import org.openecomp.portalapp.util.EPUserUtils;
23 import org.openecomp.portalapp.util.SessionCookieUtil;
24 import org.powermock.api.mockito.PowerMockito;
25 import org.powermock.core.classloader.annotations.PrepareForTest;
26 import org.powermock.modules.junit4.PowerMockRunner;
27 import org.springframework.util.StringUtils;
29 @RunWith(PowerMockRunner.class)
30 @PrepareForTest({StringUtils.class, EPUserUtils.class , SessionCookieUtil.class,SystemProperties.class})
31 public class OpenIdConnectLoginStrategyTest {
34 OpenIdConnectLoginStrategy OpenIdConnectLoginStrategy = new OpenIdConnectLoginStrategy();
38 MockitoAnnotations.initMocks(this);
41 MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
43 HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
44 HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
46 NullPointerException nullPointerException = new NullPointerException();
49 public void loginTest()
51 PowerMockito.mockStatic(StringUtils.class);
52 PowerMockito.mockStatic(EPUserUtils.class);
53 PowerMockito.mockStatic(SessionCookieUtil.class);
55 UserInfo userInfo = new DefaultUserInfo();
56 userInfo.setPreferredUsername("Test");
57 userInfo.setEmail("test@gmail.com");
58 userInfo.setName("first_name");
59 userInfo.setFamilyName("last_name");
60 Mockito.when(mockedRequest.getAttribute("userInfo")).thenReturn(userInfo);
61 assertTrue(OpenIdConnectLoginStrategy.login(mockedRequest, mockedResponse));
65 public void loginIfUserNullTest()
67 PowerMockito.mockStatic(SystemProperties.class);
68 UserInfo userInfo = null;
69 Mockito.when(mockedRequest.getAttribute("userInfo")).thenReturn(userInfo);
70 // Mockito.when(SystemProperties.getProperty("authentication_mechanism")).thenReturn("auth");
71 assertFalse(OpenIdConnectLoginStrategy.login(mockedRequest, mockedResponse));
75 public void loginIfUserIfAuthIsOIDCTest()
77 PowerMockito.mockStatic(SystemProperties.class);
78 UserInfo userInfo = null;
79 Mockito.when(mockedRequest.getAttribute("userInfo")).thenReturn(userInfo);
80 Mockito.when(SystemProperties.getProperty("authentication_mechanism")).thenReturn("OIDC");
81 Mockito.when(SystemProperties.getProperty(EPSystemProperties.LOGIN_URL_NO_RET_VAL)).thenReturn("login_url");
82 assertFalse(OpenIdConnectLoginStrategy.login(mockedRequest, mockedResponse));
86 public void loginIfUserIfAuthNotNullTest()
88 PowerMockito.mockStatic(SystemProperties.class);
89 UserInfo userInfo = null;
90 Mockito.when(mockedRequest.getAttribute("userInfo")).thenReturn(userInfo);
91 Mockito.when(SystemProperties.getProperty("authentication_mechanism")).thenReturn("test");
92 Mockito.when(SystemProperties.getProperty(EPSystemProperties.LOGIN_URL_NO_RET_VAL)).thenReturn("login_url");
93 assertFalse(OpenIdConnectLoginStrategy.login(mockedRequest, mockedResponse));
97 public void loginIfUserExceptionest()
99 PowerMockito.mockStatic(SystemProperties.class);
100 UserInfo userInfo = null;
101 Mockito.when(mockedRequest.getAttribute("userInfo")).thenReturn(userInfo);
102 Mockito.when(SystemProperties.getProperty("authentication_mechanism")).thenThrow(nullPointerException);
103 Mockito.when(SystemProperties.getProperty(EPSystemProperties.LOGIN_URL_NO_RET_VAL)).thenReturn("login_url");
104 assertFalse(OpenIdConnectLoginStrategy.login(mockedRequest, mockedResponse));
106 @Test(expected = Exception.class)
107 public void doLoginTest() throws Exception
109 OpenIdConnectLoginStrategy.doLogin(mockedRequest, mockedResponse);
112 @Test(expected = PortalAPIException.class)
113 public void getUserIdTest() throws Exception
115 OpenIdConnectLoginStrategy.getUserId(mockedRequest);