[PORTAL-16 PORTAL-18] Widget ms; staging
[portal.git] / ecomp-portal-BE-common-test / src / main / java / org / openecomp / portalapp / portal / test / controller / UserControllerTest.java
1 package org.openecomp.portalapp.portal.test.controller;
2
3 import static org.junit.Assert.assertEquals;
4
5 import javax.servlet.http.HttpServletRequest;
6 import javax.servlet.http.HttpServletResponse;
7
8 import org.junit.Before;
9 import org.junit.Test;
10 import org.junit.runner.RunWith;
11 import org.mockito.InjectMocks;
12 import org.mockito.Mock;
13 import org.mockito.Mockito;
14 import org.mockito.MockitoAnnotations;
15 import org.openecomp.portalapp.portal.controller.UserController;
16 import org.openecomp.portalapp.portal.domain.EPUser;
17 import org.openecomp.portalapp.portal.ecomp.model.PortalRestResponse;
18 import org.openecomp.portalapp.portal.ecomp.model.PortalRestStatusEnum;
19 import org.openecomp.portalapp.portal.service.UserService;
20 import org.openecomp.portalapp.portal.service.UserServiceImpl;
21 import org.openecomp.portalapp.portal.test.core.MockEPUser;
22 import org.openecomp.portalapp.portal.transport.ProfileDetail;
23 import org.openecomp.portalapp.test.framework.MockitoTestSuite;
24 import org.openecomp.portalapp.util.EPUserUtils;
25 import org.openecomp.portalsdk.core.onboarding.util.CipherUtil;
26 import org.powermock.api.mockito.PowerMockito;
27 import org.powermock.core.classloader.annotations.PrepareForTest;
28 import org.powermock.modules.junit4.PowerMockRunner;
29
30 @RunWith(PowerMockRunner.class)
31 @PrepareForTest(CipherUtil.class)
32 public class UserControllerTest extends MockitoTestSuite {
33
34         @InjectMocks
35         UserController userController = new UserController();
36
37         @Mock
38         UserService userService = new UserServiceImpl();
39
40         @Before
41         public void setup() {
42                 MockitoAnnotations.initMocks(this);
43         }
44
45         @Mock
46         EPUserUtils ePUserUtils = new EPUserUtils();
47
48         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
49
50         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
51         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
52         NullPointerException nullPointerException = new NullPointerException();
53
54         MockEPUser mockUser = new MockEPUser();
55
56         @Test
57         public void getLoggedinUserExceptionTest() {
58                 EPUser epUser = mockUser.mockEPUser();
59                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(epUser);
60                 PortalRestResponse<ProfileDetail> expectedResponse = new PortalRestResponse<ProfileDetail>();
61                 expectedResponse.setMessage(null);
62                 expectedResponse.setResponse(null);
63                 PortalRestStatusEnum enu = null;
64                 expectedResponse.setStatus(enu.ERROR);
65                 PortalRestResponse<ProfileDetail> response = userController.getLoggedinUser(mockedRequest);
66                 assertEquals(response, expectedResponse);
67         }
68
69         @Test
70         public void getLoggedinUserTest() throws Exception {
71                 EPUser epUser = mockUser.mockEPUser();
72                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(epUser);
73                 PortalRestResponse<ProfileDetail> expectedResponse = new PortalRestResponse<ProfileDetail>();
74                 expectedResponse.setMessage("success");
75                 ProfileDetail profileDetail = new ProfileDetail();
76                 expectedResponse.setResponse(profileDetail);
77                 PortalRestStatusEnum enu = null;
78                 expectedResponse.setStatus(enu.OK);
79                 PowerMockito.mockStatic(CipherUtil.class);
80                 Mockito.when(CipherUtil.decrypt(epUser.getLoginPwd())).thenReturn("Password");
81                 PortalRestResponse<ProfileDetail> response = userController.getLoggedinUser(mockedRequest);
82                 assertEquals(response.getMessage(), expectedResponse.getMessage());
83                 assertEquals(response.getStatus(), expectedResponse.getStatus());
84         }
85
86         @Test
87         public void modifyLoggedinUserIfProfileNullTest() {
88                 PortalRestResponse<String> expectedResponse = new PortalRestResponse<String>();
89                 expectedResponse.setMessage("java.lang.NullPointerException");
90                 expectedResponse.setResponse(null);
91                 PortalRestStatusEnum enu = null;
92                 expectedResponse.setStatus(enu.ERROR);
93                 ProfileDetail profileDetail = null;
94                 PortalRestResponse<String> actualResponse = userController.modifyLoggedinUser(mockedRequest, profileDetail);
95                 assertEquals(actualResponse, expectedResponse);
96                 assertEquals(actualResponse.getStatus(), expectedResponse.getStatus());
97         }
98
99         @Test
100         public void modifyLoggedinUserExceptionTest() {
101                 EPUser epUser = mockUser.mockEPUser();
102
103                 PortalRestResponse<String> expectedResponse = new PortalRestResponse<String>();
104                 expectedResponse.setMessage(
105                                 "java.lang.ClassCastException: com.sun.crypto.provider.AESCipher$General cannot be cast to javax.crypto.CipherSpi");
106                 expectedResponse.setResponse(null);
107                 PortalRestStatusEnum enu = null;
108                 expectedResponse.setStatus(enu.ERROR);
109                 ProfileDetail profileDetail = new ProfileDetail();
110                 profileDetail.setFirstName("Test_FirstName");
111                 profileDetail.setLastName("Test_LastName");
112                 profileDetail.setEmail("Test_Email");
113                 profileDetail.setLoginId("Test_LoginId");
114                 profileDetail.setLoginPassword("Test_LoginPassword");
115                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(epUser);
116                 PortalRestResponse<String> actualResponse = userController.modifyLoggedinUser(mockedRequest, profileDetail);
117                 assertEquals(actualResponse, expectedResponse);
118
119         }
120
121         @Test
122         public void modifyLoggedinUserTest() throws Exception {
123                 EPUser epUser = mockUser.mockEPUser();
124                 PortalRestResponse<String> expectedResponse = new PortalRestResponse<String>();
125                 expectedResponse.setMessage("success");
126                 expectedResponse.setResponse(null);
127                 PortalRestStatusEnum enu = null;
128                 expectedResponse.setStatus(enu.OK);
129                 ProfileDetail profileDetail = new ProfileDetail();
130                 profileDetail.setFirstName("Test_FirstName");
131                 profileDetail.setLastName("Test_LastName");
132                 profileDetail.setEmail("Test_Email");
133                 profileDetail.setLoginId("Test_LoginId");
134                 profileDetail.setLoginPassword("Test_LoginPassword");
135                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(epUser);
136                 PowerMockito.mockStatic(CipherUtil.class);
137                 Mockito.when(CipherUtil.decrypt(epUser.getLoginPwd())).thenReturn("Password");
138                 PortalRestResponse<String> actualResponse = userController.modifyLoggedinUser(mockedRequest, profileDetail);
139                 System.out.println(actualResponse);
140         }
141 }