2 * ============LICENSE_START==========================================
4 * ===================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ===================================================================
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
13 * http://www.apache.org/licenses/LICENSE-2.0
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.
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
26 * https://creativecommons.org/licenses/by/4.0/
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.
34 * ============LICENSE_END============================================
38 package org.onap.portalapp.portal.controller;
40 import static org.junit.Assert.assertEquals;
42 import java.util.ArrayList;
43 import java.util.List;
45 import javax.servlet.http.HttpServletRequest;
46 import javax.servlet.http.HttpServletResponse;
48 import org.junit.Before;
49 import org.junit.Test;
50 import org.mockito.InjectMocks;
51 import org.mockito.Mock;
52 import org.mockito.Mockito;
53 import org.mockito.MockitoAnnotations;
54 import org.onap.portalapp.portal.controller.AppsControllerExternalRequest;
55 import org.onap.portalapp.portal.core.MockEPUser;
56 import org.onap.portalapp.portal.domain.EPApp;
57 import org.onap.portalapp.portal.domain.EPUser;
58 import org.onap.portalapp.portal.ecomp.model.PortalRestResponse;
59 import org.onap.portalapp.portal.ecomp.model.PortalRestStatusEnum;
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.PortalAdminService;
64 import org.onap.portalapp.portal.service.UserService;
65 import org.onap.portalapp.portal.service.UserServiceImpl;
66 import org.onap.portalapp.portal.transport.FieldsValidator;
67 import org.onap.portalapp.portal.transport.OnboardingApp;
68 import org.onap.portalapp.util.EPUserUtils;
70 public class AppsControllerExternalRequestTest extends MockitoTestSuite {
73 AdminRolesService adminRolesService;
76 EPAppService appService;
79 PortalAdminService portalAdminService;
82 UserService userService = new UserServiceImpl();
85 AppsControllerExternalRequest appsControllerExternalRequest = new AppsControllerExternalRequest();
89 MockitoAnnotations.initMocks(this);
92 MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
94 HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
95 HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
96 NullPointerException nullPointerException = new NullPointerException();
98 MockEPUser mockUser = new MockEPUser();
100 EPUserUtils ePUserUtils = new EPUserUtils();
103 public void postPortalAdminIfUSerNullTest() {
104 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
105 expectedportalRestResponse.setMessage("Missing required field: email, loginId, or loginPwd");
106 expectedportalRestResponse.setResponse(null);
107 PortalRestStatusEnum portalRestStatusEnum = null;
108 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
109 EPUser user = mockUser.mockEPUser();
110 user.setEmail("guestT@test.portal.onap.org");
111 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
112 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
113 .postPortalAdmin(mockedRequest, mockedResponse, user);
114 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
118 public void postPortalAdminTest() {
119 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
120 expectedportalRestResponse.setMessage("java.lang.NullPointerException");
121 expectedportalRestResponse.setResponse(null);
122 PortalRestStatusEnum portalRestStatusEnum = null;
123 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
124 EPUser user = mockUser.mockEPUser();
125 user.setEmail("guestT@test.portal.onap.org");
126 user.setLoginPwd("pwd");
127 user.setLoginId("Test");
128 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
129 Mockito.when(userService.getUserByUserId(user.getOrgUserId())).thenThrow(nullPointerException);
130 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
131 .postPortalAdmin(mockedRequest, mockedResponse, user);
132 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
136 public void postPortalAdminCreateUserIfNotFoundTest() throws Exception {
137 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
138 expectedportalRestResponse.setMessage(null);
139 expectedportalRestResponse.setResponse(null);
140 PortalRestStatusEnum portalRestStatusEnum = null;
141 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
142 EPUser user = mockUser.mockEPUser();
143 user.setEmail("guestT@test.portal.onap.org");
144 user.setLoginPwd("pwd");
145 user.setLoginId("Test");
146 List<EPUser> expectedList = null;
147 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
148 Mockito.when(userService.getUserByUserId(user.getOrgUserId())).thenReturn(expectedList);
149 Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
150 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
151 .postPortalAdmin(mockedRequest, mockedResponse, user);
152 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
156 public void postPortalAdminCreateUserIfFoundTest() throws Exception {
157 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
158 expectedportalRestResponse.setMessage(null);
159 expectedportalRestResponse.setResponse(null);
160 PortalRestStatusEnum portalRestStatusEnum = null;
161 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
162 EPUser user = mockUser.mockEPUser();
163 user.setEmail("guestT@test.portal.onap.org");
164 user.setLoginPwd("pwd");
165 user.setLoginId("Test");
166 List<EPUser> expectedList = new ArrayList<EPUser>();
167 expectedList.add(user);
168 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
169 Mockito.when(userService.getUserByUserId(user.getOrgUserId())).thenReturn(expectedList);
170 Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
171 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
172 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
173 .postPortalAdmin(mockedRequest, mockedResponse, user);
174 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
178 public void postPortalAdminCreateUserIfNotSuperAdminTest() throws Exception {
179 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
180 expectedportalRestResponse.setMessage(null);
181 expectedportalRestResponse.setResponse(null);
182 PortalRestStatusEnum portalRestStatusEnum = null;
183 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
184 EPUser user = mockUser.mockEPUser();
185 user.setEmail("guestT@test.portal.onap.org");
186 user.setLoginPwd("pwd");
187 user.setLoginId("Test");
188 List<EPUser> expectedList = new ArrayList<EPUser>();
189 expectedList.add(user);
190 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
191 Mockito.when(userService.getUserByUserId(user.getOrgUserId())).thenReturn(expectedList);
192 Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
193 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
195 FieldsValidator expectedFieldValidator = new FieldsValidator();
196 expectedFieldValidator.setHttpStatusCode((long) 200);
197 expectedFieldValidator.setFields(null);
198 expectedFieldValidator.setErrorCode(null);
199 Mockito.when(portalAdminService.createPortalAdmin(user.getOrgUserId())).thenReturn(expectedFieldValidator);
201 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
202 .postPortalAdmin(mockedRequest, mockedResponse, user);
203 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
207 public void postPortalAdminCreateUserIfFieldValidatorErrorTest() throws Exception {
208 FieldsValidator expectedFieldValidator = new FieldsValidator();
209 expectedFieldValidator.setHttpStatusCode((long) 500);
210 expectedFieldValidator.setFields(null);
211 expectedFieldValidator.setErrorCode(null);
212 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
213 expectedportalRestResponse.setMessage("FieldsValidator [httpStatusCode=500, errorCode=null, fields=null]");
214 expectedportalRestResponse.setResponse(null);
215 PortalRestStatusEnum portalRestStatusEnum = null;
216 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
217 EPUser user = mockUser.mockEPUser();
218 user.setEmail("guestT@test.portal.onap.org");
219 user.setLoginPwd("pwd");
220 user.setLoginId("Test");
221 List<EPUser> expectedList = new ArrayList<EPUser>();
222 expectedList.add(user);
223 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
224 Mockito.when(userService.getUserByUserId(user.getOrgUserId())).thenReturn(expectedList);
225 Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
226 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
227 Mockito.when(portalAdminService.createPortalAdmin(user.getOrgUserId())).thenReturn(expectedFieldValidator);
228 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
229 .postPortalAdmin(mockedRequest, mockedResponse, user);
230 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
234 public void getOnboardAppExternalTest() {
235 EPApp epApp = new EPApp();
236 Long appId = (long) 1;
237 Mockito.when(appService.getApp(appId)).thenReturn(epApp);
238 OnboardingApp expectedApp = new OnboardingApp();
239 Mockito.doNothing().when(appService).createOnboardingFromApp(epApp, expectedApp);
240 OnboardingApp actualApp = appsControllerExternalRequest.getOnboardAppExternal(mockedRequest, mockedResponse,
242 assertEquals(expectedApp.getClass(), actualApp.getClass());
246 public void postOnboardAppExternalExceptionTest() {
247 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
248 expectedportalRestResponse.setMessage("Unexpected field: id");
249 expectedportalRestResponse.setResponse(null);
250 PortalRestStatusEnum portalRestStatusEnum = null;
251 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
253 OnboardingApp expectedOnboardingApp = new OnboardingApp();
254 expectedOnboardingApp.id = (long) 1;
256 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
257 .postOnboardAppExternal(mockedRequest, mockedResponse, expectedOnboardingApp);
258 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
262 public void postOnboardAppExternalTest() {
263 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
264 expectedportalRestResponse.setMessage(
265 "Missing required field: name, url, restUrl, restrictedApp, isOpen, isEnabled, myLoginsAppOwner");
266 expectedportalRestResponse.setResponse(null);
267 PortalRestStatusEnum portalRestStatusEnum = null;
268 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
270 OnboardingApp expectedOnboardingApp = new OnboardingApp();
271 expectedOnboardingApp.id = null;
273 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
274 .postOnboardAppExternal(mockedRequest, mockedResponse, expectedOnboardingApp);
275 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
280 public void putOnboardAppExternalifAppNullTest() {
281 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
282 expectedportalRestResponse.setMessage("Unexpected value for field: id");
283 expectedportalRestResponse.setResponse(null);
284 PortalRestStatusEnum portalRestStatusEnum = null;
285 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
287 OnboardingApp expectedOnboardingApp = new OnboardingApp();
288 expectedOnboardingApp.id = null;
290 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
291 .putOnboardAppExternal(mockedRequest, mockedResponse, appId, expectedOnboardingApp);
292 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
296 public void putOnboardAppExternalIfOnboardingAppDetailsNullTest() {
297 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
298 expectedportalRestResponse.setMessage(
299 "Missing required field: name, url, restUrl, restrictedApp, isOpen, isEnabled, myLoginsAppOwner");
300 expectedportalRestResponse.setResponse(null);
301 PortalRestStatusEnum portalRestStatusEnum = null;
302 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
303 Long appId = (long) 1;
304 OnboardingApp expectedOnboardingApp = new OnboardingApp();
305 expectedOnboardingApp.id = (long) 1;
306 PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
307 .putOnboardAppExternal(mockedRequest, mockedResponse, appId, expectedOnboardingApp);
308 assertEquals(actualPortalRestResponse, expectedportalRestResponse);