4386ccd7605d124fa06f5e11e89700db18fd65de
[portal.git] / ecomp-portal-BE-os / src / test / java / org / openecomp / portalapp / portal / authentication / OpenIdConnectLoginStrategyTest.java
1 package org.openecomp.portalapp.portal.authentication;
2
3 import static org.junit.Assert.*;
4
5 import javax.servlet.http.HttpServletRequest;
6 import javax.servlet.http.HttpServletResponse;
7
8 import org.openecomp.portalsdk.core.onboarding.exception.PortalAPIException;
9 import org.openecomp.portalsdk.core.util.SystemProperties;
10
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;
28
29 @RunWith(PowerMockRunner.class)
30 @PrepareForTest({StringUtils.class, EPUserUtils.class , SessionCookieUtil.class,SystemProperties.class})
31 public class OpenIdConnectLoginStrategyTest {
32         
33         @InjectMocks
34         OpenIdConnectLoginStrategy OpenIdConnectLoginStrategy = new OpenIdConnectLoginStrategy();
35
36         @Before
37         public void setup() {
38                 MockitoAnnotations.initMocks(this);
39         }
40
41         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
42
43         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
44         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
45
46         NullPointerException nullPointerException = new NullPointerException();
47                 
48         @Test
49         public void loginTest()
50         {
51                 PowerMockito.mockStatic(StringUtils.class);
52                 PowerMockito.mockStatic(EPUserUtils.class);
53                 PowerMockito.mockStatic(SessionCookieUtil.class);
54                 
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));
62         }
63         
64         @Test
65         public void loginIfUserNullTest()
66         {               
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));
72         }
73         
74         @Test
75         public void loginIfUserIfAuthIsOIDCTest()
76         {               
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));
83         }
84         
85         @Test
86         public void loginIfUserIfAuthNotNullTest()
87         {               
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));
94         }
95         
96         @Test
97         public void loginIfUserExceptionest()
98         {               
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));
105         }
106         @Test(expected =  Exception.class)
107         public void doLoginTest() throws Exception
108         {
109                 OpenIdConnectLoginStrategy.doLogin(mockedRequest, mockedResponse);
110         }
111         
112         @Test(expected =  PortalAPIException.class)
113         public void getUserIdTest() throws Exception
114         {
115                 OpenIdConnectLoginStrategy.getUserId(mockedRequest);
116         }
117         
118 }