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.externalsystemapproval.model.ExternalSystemRoleApproval;
55 import org.onap.portalapp.externalsystemapproval.model.ExternalSystemUser;
56 import org.onap.portalapp.portal.controller.RolesApprovalSystemController;
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.MockitoTestSuite;
60 import org.onap.portalapp.portal.service.UserRolesService;
61 import org.onap.portalapp.portal.transport.ExternalRequestFieldsValidator;
63 public class RolesApprovalSystemControllerTest extends MockitoTestSuite {
66 UserRolesService userRolesService;
69 RolesApprovalSystemController rolesApprovalSystemController = new RolesApprovalSystemController();
71 MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
73 HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
74 HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
75 NullPointerException nullPointerException = new NullPointerException();
79 MockitoAnnotations.initMocks(this);
83 public void postUserProfileIfRolesNullTest() {
84 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
85 expectedportalRestResponse.setMessage("Request has no roles");
86 expectedportalRestResponse.setResponse("save user profile failed");
87 PortalRestStatusEnum portalRestStatusEnum = null;
88 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
89 ExternalSystemUser extSysUser = new ExternalSystemUser();
90 extSysUser.setApplicationName("Test_App");
91 extSysUser.setLoginId("1");
92 extSysUser.setMyloginrequestId("Test");
93 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = null;
94 extSysUser.setRoles(externalSystemRoleApprovalList);
96 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
97 .postUserProfile(mockedRequest, extSysUser, mockedResponse);
98 assertEquals(expectedportalRestResponse, actualportalRestResponse);
102 public void postUserProfileTest() {
103 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
104 expectedportalRestResponse.setMessage("Saved Successfully");
105 expectedportalRestResponse.setResponse("Success");
106 PortalRestStatusEnum portalRestStatusEnum = null;
107 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
108 ExternalSystemUser extSysUser = new ExternalSystemUser();
109 extSysUser.setApplicationName("Test_App");
110 extSysUser.setLoginId("1");
111 extSysUser.setMyloginrequestId("Test");
112 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
113 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
114 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
115 extSysUser.setRoles(externalSystemRoleApprovalList);
116 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(true,
117 "Saved Successfully");
119 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "POST"))
120 .thenReturn(externalRequestFieldsValidator);
121 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
122 .postUserProfile(mockedRequest, extSysUser, mockedResponse);
123 assertEquals(expectedportalRestResponse, actualportalRestResponse);
127 public void postUserProfileFailureTest() {
128 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
129 expectedportalRestResponse.setMessage("Received Bad String");
130 expectedportalRestResponse.setResponse("save user profile failed");
131 PortalRestStatusEnum portalRestStatusEnum = null;
132 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
133 ExternalSystemUser extSysUser = new ExternalSystemUser();
134 extSysUser.setApplicationName("Test_App");
135 extSysUser.setLoginId("1");
136 extSysUser.setMyloginrequestId("Test");
137 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
138 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
139 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
140 extSysUser.setRoles(externalSystemRoleApprovalList);
141 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(false,
142 "Received Bad String");
143 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "POST"))
144 .thenReturn(externalRequestFieldsValidator);
146 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
147 .postUserProfile(mockedRequest, extSysUser, mockedResponse);
148 assertEquals(expectedportalRestResponse, actualportalRestResponse);
152 public void postUserProfileExceptionTest() {
153 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
154 expectedportalRestResponse.setMessage(null);
155 expectedportalRestResponse.setResponse("save user profile failed");
156 PortalRestStatusEnum portalRestStatusEnum = null;
157 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
158 ExternalSystemUser extSysUser = new ExternalSystemUser();
159 extSysUser.setApplicationName("Test_App");
160 extSysUser.setLoginId("1");
161 extSysUser.setMyloginrequestId("Test");
162 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
163 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
164 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
165 extSysUser.setRoles(externalSystemRoleApprovalList);
166 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "POST")).thenThrow(nullPointerException);
167 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
168 .postUserProfile(mockedRequest, extSysUser, mockedResponse);
169 assertEquals(expectedportalRestResponse, actualportalRestResponse);
173 public void putUserProfileIfLoginIdNullTest() {
174 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
175 expectedportalRestResponse.setMessage("Request has no login ID");
176 expectedportalRestResponse.setResponse("save user profile failed");
177 PortalRestStatusEnum portalRestStatusEnum = null;
178 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
179 ExternalSystemUser extSysUser = new ExternalSystemUser();
180 extSysUser.setApplicationName("Test_App");
181 extSysUser.setLoginId(null);
182 extSysUser.setMyloginrequestId("Test");
183 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
184 extSysUser.setRoles(externalSystemRoleApprovalList);
185 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
186 .putUserProfile(mockedRequest, extSysUser, mockedResponse);
187 assertEquals(expectedportalRestResponse, actualportalRestResponse);
191 public void putUserProfileTest() {
192 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
193 expectedportalRestResponse.setMessage("Updated Successfully");
194 expectedportalRestResponse.setResponse("Success");
195 PortalRestStatusEnum portalRestStatusEnum = null;
196 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
197 ExternalSystemUser extSysUser = new ExternalSystemUser();
198 extSysUser.setApplicationName("Test_App");
199 extSysUser.setLoginId("1");
200 extSysUser.setMyloginrequestId("Test");
201 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
202 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
203 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
204 extSysUser.setRoles(externalSystemRoleApprovalList);
205 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(true,
206 "Updated Successfully");
208 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "PUT"))
209 .thenReturn(externalRequestFieldsValidator);
210 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
211 .putUserProfile(mockedRequest, extSysUser, mockedResponse);
212 assertEquals(expectedportalRestResponse, actualportalRestResponse);
216 public void putUserProfileFailureTest() {
217 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
218 expectedportalRestResponse.setMessage("Received Bad String");
219 expectedportalRestResponse.setResponse("save user profile failed");
220 PortalRestStatusEnum portalRestStatusEnum = null;
221 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
222 ExternalSystemUser extSysUser = new ExternalSystemUser();
223 extSysUser.setApplicationName("Test_App");
224 extSysUser.setLoginId("1");
225 extSysUser.setMyloginrequestId("Test");
226 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
227 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
228 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
229 extSysUser.setRoles(externalSystemRoleApprovalList);
230 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(false,
231 "Received Bad String");
233 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "PUT"))
234 .thenReturn(externalRequestFieldsValidator);
235 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
236 .putUserProfile(mockedRequest, extSysUser, mockedResponse);
238 assertEquals(expectedportalRestResponse, actualportalRestResponse);
242 public void putUserProfileExceptionTest() {
243 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
244 expectedportalRestResponse.setMessage(null);
245 expectedportalRestResponse.setResponse("save user profile failed");
246 PortalRestStatusEnum portalRestStatusEnum = null;
247 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
248 ExternalSystemUser extSysUser = new ExternalSystemUser();
249 extSysUser.setApplicationName("Test_App");
250 extSysUser.setLoginId("1");
251 extSysUser.setMyloginrequestId("Test");
252 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
253 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
254 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
255 extSysUser.setRoles(externalSystemRoleApprovalList);
256 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "PUT")).thenThrow(nullPointerException);
257 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
258 .putUserProfile(mockedRequest, extSysUser, mockedResponse);
260 assertEquals(expectedportalRestResponse, actualportalRestResponse);
264 public void deleteUserProfileIfApplicationNameNullTest() {
265 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
266 expectedportalRestResponse.setMessage("Request has no application name");
267 expectedportalRestResponse.setResponse("delete user profile failed");
268 PortalRestStatusEnum portalRestStatusEnum = null;
269 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
270 ExternalSystemUser extSysUser = new ExternalSystemUser();
271 extSysUser.setApplicationName(null);
272 extSysUser.setLoginId("1");
273 extSysUser.setMyloginrequestId("Test");
274 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
275 extSysUser.setRoles(externalSystemRoleApprovalList);
276 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
277 .deleteUserProfile(mockedRequest, extSysUser, mockedResponse);
279 assertEquals(expectedportalRestResponse, actualportalRestResponse);
283 public void deleteUserProfileIfMyloginrequestIdNullTest() {
284 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
285 expectedportalRestResponse.setMessage("Request has no request ID");
286 expectedportalRestResponse.setResponse("delete user profile failed");
287 PortalRestStatusEnum portalRestStatusEnum = null;
288 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
289 ExternalSystemUser extSysUser = new ExternalSystemUser();
290 extSysUser.setApplicationName("Test");
291 extSysUser.setLoginId("1");
292 extSysUser.setMyloginrequestId(null);
293 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
294 extSysUser.setRoles(externalSystemRoleApprovalList);
295 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
296 .deleteUserProfile(mockedRequest, extSysUser, mockedResponse);
297 assertEquals(expectedportalRestResponse, actualportalRestResponse);
301 public void deleteUserProfileTest() {
302 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
303 expectedportalRestResponse.setMessage("Deleted Successfully");
304 expectedportalRestResponse.setResponse("Success");
305 PortalRestStatusEnum portalRestStatusEnum = null;
306 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
307 ExternalSystemUser extSysUser = new ExternalSystemUser();
308 extSysUser.setApplicationName("Test_App");
309 extSysUser.setLoginId("1");
310 extSysUser.setMyloginrequestId("Test");
311 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
312 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
313 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
314 extSysUser.setRoles(externalSystemRoleApprovalList);
315 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(true,
318 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "DELETE"))
319 .thenReturn(externalRequestFieldsValidator);
320 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
321 .deleteUserProfile(mockedRequest, extSysUser, mockedResponse);
323 assertEquals(expectedportalRestResponse, actualportalRestResponse);
327 public void deleteUserProfileFailureTest() {
328 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
329 expectedportalRestResponse.setMessage("failed");
330 expectedportalRestResponse.setResponse("delete user profile failed");
331 PortalRestStatusEnum portalRestStatusEnum = null;
332 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
333 ExternalSystemUser extSysUser = new ExternalSystemUser();
334 extSysUser.setApplicationName("Test_App");
335 extSysUser.setLoginId("1");
336 extSysUser.setMyloginrequestId("Test");
337 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
338 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
339 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
340 extSysUser.setRoles(externalSystemRoleApprovalList);
341 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(false,
344 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "DELETE"))
345 .thenReturn(externalRequestFieldsValidator);
346 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
347 .deleteUserProfile(mockedRequest, extSysUser, mockedResponse);
349 assertEquals(expectedportalRestResponse, actualportalRestResponse);
353 public void deleteUserProfileExceptionTest() {
354 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
355 expectedportalRestResponse.setMessage(null);
356 expectedportalRestResponse.setResponse("delete user profile failed");
357 PortalRestStatusEnum portalRestStatusEnum = null;
358 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
359 ExternalSystemUser extSysUser = new ExternalSystemUser();
360 extSysUser.setApplicationName("Test_App");
361 extSysUser.setLoginId("1");
362 extSysUser.setMyloginrequestId("Test");
363 List<ExternalSystemRoleApproval> externalSystemRoleApprovalList = new ArrayList<ExternalSystemRoleApproval>();
364 ExternalSystemRoleApproval externalSystemRoleApproval = new ExternalSystemRoleApproval();
365 externalSystemRoleApprovalList.add(externalSystemRoleApproval);
366 extSysUser.setRoles(externalSystemRoleApprovalList);
367 Mockito.when(userRolesService.setExternalRequestUserAppRole(extSysUser, "DELETE")).thenThrow(nullPointerException);
368 PortalRestResponse<String> actualportalRestResponse = rolesApprovalSystemController
369 .deleteUserProfile(mockedRequest, extSysUser, mockedResponse);
371 assertEquals(expectedportalRestResponse, actualportalRestResponse);