565bfdbf77e56b6a4325af5f83237ef5edddc5fd
[portal.git] / ecomp-portal-BE-os / src / test / java / org / onap / portalapp / portal / controller / AppsOSControllerTest.java
1 /*-
2  * ============LICENSE_START==========================================
3  * ONAP Portal
4  * ===================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ===================================================================
7  *
8  * Unless otherwise specified, all software contained herein is licensed
9  * under the Apache License, Version 2.0 (the "License");
10  * you may not use this software except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *             http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  * Unless otherwise specified, all documentation contained herein is licensed
22  * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23  * you may not use this documentation except in compliance with the License.
24  * You may obtain a copy of the License at
25  *
26  *             https://creativecommons.org/licenses/by/4.0/
27  *
28  * Unless required by applicable law or agreed to in writing, documentation
29  * distributed under the License is distributed on an "AS IS" BASIS,
30  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31  * See the License for the specific language governing permissions and
32  * limitations under the License.
33  *
34  * ============LICENSE_END============================================
35  *
36  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
37  */
38 package org.onap.portalapp.portal.controller;
39
40 import static org.junit.Assert.assertEquals;
41
42 import java.util.ArrayList;
43 import java.util.List;
44
45 import javax.servlet.http.HttpServletRequest;
46 import javax.servlet.http.HttpServletResponse;
47
48 import org.junit.Before;
49 import org.junit.Ignore;
50 import org.junit.Test;
51 import org.mockito.InjectMocks;
52 import org.mockito.Mock;
53 import org.mockito.Mockito;
54 import org.mockito.MockitoAnnotations;
55 import org.onap.portalapp.portal.controller.AppsOSController;
56 import org.onap.portalapp.portal.domain.EPUser;
57 import org.onap.portalapp.portal.ecomp.model.PortalRestResponse;
58 import org.onap.portalapp.portal.ecomp.model.PortalRestStatusEnum;
59 import org.onap.portalapp.portal.framework.MockEPUser;
60 import org.onap.portalapp.portal.framework.MockitoTestSuite;
61 import org.onap.portalapp.portal.service.AdminRolesService;
62 import org.onap.portalapp.portal.service.EPAppService;
63 import org.onap.portalapp.portal.service.PersUserAppService;
64 import org.onap.portalapp.portal.service.UserService;
65 import org.onap.portalapp.util.EPUserUtils;
66
67 public class AppsOSControllerTest {
68
69         @Mock
70         AdminRolesService adminRolesService;
71
72         @Mock
73         EPAppService appService;
74
75         @Mock
76         PersUserAppService persUserAppService;
77
78         @Mock
79         UserService userService;
80
81         @Mock
82         EPUserUtils ePUserUtils;
83
84         @Before
85         public void setup() {
86                 MockitoAnnotations.initMocks(this);
87         }
88
89         @InjectMocks
90         AppsOSController appsOSController = new AppsOSController();
91
92         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
93
94         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
95         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
96         NullPointerException nullPointerException = new NullPointerException();
97         MockEPUser mockUser = new MockEPUser();
98
99         @Test
100         public void saveNewUserIfUserISNullTest() {
101                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
102                 expectedportalRestResponse.setMessage("failure");
103                 expectedportalRestResponse.setResponse("New User cannot be null or empty");
104                 PortalRestStatusEnum portalRestStatusEnum = null;
105                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
106                 EPUser user = mockUser.mockEPUser();
107                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
108                 PortalRestResponse<String> actualPortalRestResponse = appsOSController.saveNewUser(mockedRequest, null);
109                 assertEquals(expectedportalRestResponse, actualPortalRestResponse);
110         }
111
112         @Test
113         @Ignore
114         public void saveNewUserIfUserNOtNullTest() {
115                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
116                 expectedportalRestResponse.setMessage("failure");
117                 expectedportalRestResponse.setResponse("UnAuthorized");
118                 PortalRestStatusEnum portalRestStatusEnum = null;
119                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
120                 EPUser user = mockUser.mockEPUser();
121                 EPUser user1 = mockUser.mockEPUser();
122                 user1.setLoginId("guest");
123                 user.setLoginId("guestT");
124                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user1);
125                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
126                 Mockito.when(adminRolesService.isAccountAdmin(user)).thenReturn(false);
127                 PortalRestResponse<String> actualPortalRestResponse = appsOSController.saveNewUser(mockedRequest, user);
128                 assertEquals(expectedportalRestResponse, actualPortalRestResponse);
129         }
130
131         @Test
132         public void saveNewUserAndLoggedInUserIdSameTest() throws Exception {
133                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
134                 expectedportalRestResponse.setMessage("Success");
135                 expectedportalRestResponse.setResponse("");
136                 PortalRestStatusEnum portalRestStatusEnum = null;
137                 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
138                 EPUser user = mockUser.mockEPUser();
139                 user.setLoginId("guestT");
140                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
141                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
142                 Mockito.when(adminRolesService.isAccountAdmin(user)).thenReturn(false);
143                 Mockito.when(mockedRequest.getParameter("isCheck")).thenReturn("test");
144                 Mockito.when(userService.saveNewUser(user, "test")).thenReturn("Success");
145                 PortalRestResponse<String> actualPortalRestResponse = appsOSController.saveNewUser(mockedRequest, user);
146                 assertEquals(expectedportalRestResponse, actualPortalRestResponse);
147         }
148
149         @Test
150         public void saveNewUserexceptionest() throws Exception {
151                 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
152                 expectedportalRestResponse.setMessage("failure");
153                 expectedportalRestResponse.setResponse(null);
154                 PortalRestStatusEnum portalRestStatusEnum = null;
155                 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
156                 EPUser user = mockUser.mockEPUser();
157                 user.setLoginId("guestT");
158                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
159                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
160                 Mockito.when(adminRolesService.isAccountAdmin(user)).thenReturn(false);
161                 Mockito.when(mockedRequest.getParameter("isCheck")).thenReturn("test");
162                 Mockito.when(userService.saveNewUser(user, "test")).thenThrow(nullPointerException);
163                 PortalRestResponse<String> actualPortalRestResponse = appsOSController.saveNewUser(mockedRequest, user);
164                 assertEquals(expectedportalRestResponse, actualPortalRestResponse);
165         }
166
167         @Test
168         public void getCurrentUserProfileTest() {
169                 String loginId = "guestT";
170                 EPUser user = mockUser.mockEPUser();
171                 List<EPUser> expectedList = new ArrayList<EPUser>();
172                 expectedList.add(user);
173                 Mockito.when(userService.getUserByUserId(loginId)).thenReturn(expectedList);
174                 String expectedString = appsOSController.getCurrentUserProfile(mockedRequest, loginId);
175                 assertEquals("{\"firstName\":\"test\",\"lastName\":\"test\"}", expectedString);
176         }
177
178         @Test
179         public void getCurrentUserProfileExceptionTest() {
180                 String loginId = "guestT";
181                 EPUser user = mockUser.mockEPUser();
182                 List<EPUser> expectedList = new ArrayList<EPUser>();
183                 expectedList.add(user);
184                 Mockito.when(userService.getUserByUserId(loginId)).thenThrow(nullPointerException);
185                 String expectedString = appsOSController.getCurrentUserProfile(mockedRequest, loginId);
186                 assertEquals("{}", expectedString);
187         }
188
189 }