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============================================
36 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
38 package org.onap.portalapp.portal.controller;
41 import static org.junit.Assert.assertEquals;
42 import static org.junit.Assert.assertNull;
44 import java.io.PrintWriter;
45 import java.io.StringWriter;
46 import java.util.ArrayList;
47 import java.util.HashMap;
48 import java.util.List;
51 import javax.servlet.http.HttpServletRequest;
52 import javax.servlet.http.HttpServletResponse;
54 import org.junit.Before;
55 import org.junit.Ignore;
56 import org.junit.Test;
57 import org.mockito.InjectMocks;
58 import org.mockito.Matchers;
59 import org.mockito.Mock;
60 import org.mockito.Mockito;
61 import org.mockito.MockitoAnnotations;
62 import org.onap.portalapp.portal.core.MockEPUser;
63 import org.onap.portalapp.portal.domain.CentralV2RoleFunction;
64 import org.onap.portalapp.portal.domain.EPApp;
65 import org.onap.portalapp.portal.domain.EPUser;
66 import org.onap.portalapp.portal.ecomp.model.PortalRestResponse;
67 import org.onap.portalapp.portal.ecomp.model.PortalRestStatusEnum;
68 import org.onap.portalapp.portal.framework.MockitoTestSuite;
69 import org.onap.portalapp.portal.service.ExternalAccessRolesService;
70 import org.onap.portalapp.portal.service.ExternalAccessRolesServiceImpl;
71 import org.onap.portalapp.portal.transport.CentralRoleFunction;
72 import org.onap.portalapp.portal.transport.CentralV2Role;
73 import org.onap.portalapp.portal.transport.ExternalRequestFieldsValidator;
74 import org.onap.portalsdk.core.domain.AuditLog;
75 import org.onap.portalsdk.core.domain.Role;
76 import org.onap.portalsdk.core.restful.domain.EcompUser;
77 import org.springframework.beans.BeanUtils;
78 import org.springframework.http.HttpStatus;
79 import org.springframework.http.ResponseEntity;
80 import org.springframework.web.client.HttpClientErrorException;
82 import com.fasterxml.jackson.core.JsonProcessingException;
83 import com.fasterxml.jackson.databind.ObjectMapper;
85 public class ExternalAccessRolesControllerTest {
88 ExternalAccessRolesService externalAccessRolesService = new ExternalAccessRolesServiceImpl();
91 ExternalAccessRolesController externalAccessRolesController = new ExternalAccessRolesController();
95 MockitoAnnotations.initMocks(this);
98 AuditLog auditLog = new AuditLog();
100 MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
102 HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
103 HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
104 NullPointerException nullPointerException = new NullPointerException();
105 HttpClientErrorException httpClientErrorException = new HttpClientErrorException(HttpStatus.BAD_REQUEST, "Failed");
107 MockEPUser mockUser = new MockEPUser();
108 String loginId = "guestT";
109 String uebKey = "testUebKey";
112 public void getUserTest() throws Exception {
113 String reason = getInvalidKeyJson();
114 StringWriter sw = new StringWriter();
115 PrintWriter writer = new PrintWriter(sw);
116 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
117 List<EPUser> userList = new ArrayList<>();
118 Mockito.when(externalAccessRolesService.getUser(loginId)).thenReturn(userList);
119 externalAccessRolesController.getUser(mockedRequest, mockedResponse, loginId);
120 String result = sw.getBuffer().toString().trim();
121 assertEquals(reason, result);
125 public void getUserExceptionTest() throws Exception {
126 String reason = getInvalidKeyJson();
127 StringWriter sw = new StringWriter();
128 PrintWriter writer = new PrintWriter(sw);
129 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
130 externalAccessRolesController.getUser(mockedRequest, mockedResponse, loginId);
131 String result = sw.getBuffer().toString().trim();
132 assertEquals(reason, result);
135 public EPApp mockApp()
137 EPApp app = new EPApp();
139 app.setImageUrl("test");
140 app.setDescription("test");
141 app.setNotes("test");
144 app.setAppRestEndpoint("test");
145 app.setAlternateUrl("test");
147 app.setMlAppName("test");
148 app.setMlAppAdminId("test");
149 app.setUsername("test");
150 app.setAppPassword("test");
152 app.setEnabled(false);
153 app.setUebKey("test");
154 app.setUebSecret("test");
155 app.setUebTopicName("test");
160 @Test(expected = NullPointerException.class)
161 public void getRolesForAppTest() throws Exception {
162 List<EPApp> applicationList = new ArrayList<EPApp>();
163 List<CentralV2Role> answer = new ArrayList<>();
164 EPApp app = mockApp();
165 applicationList.add(app);
166 Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList);
167 Mockito.doNothing().when(externalAccessRolesService).syncApplicationRolesWithEcompDB(app);
168 Mockito.when(externalAccessRolesService.getRolesForApp(mockedRequest.getHeader(uebKey))).thenReturn(answer);
169 assertEquals(externalAccessRolesController.getRolesForApp(mockedRequest, mockedResponse), null);
172 @Test(expected = NullPointerException.class)
173 public void getRolesForAppExceptionTest() throws Exception {
174 List<EPApp> applicationList = new ArrayList<EPApp>();
175 EPApp app = mockApp();
176 applicationList.add(app);
177 Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList);
178 Mockito.doNothing().when(externalAccessRolesService).syncApplicationRolesWithEcompDB(app);
179 externalAccessRolesController.getRolesForApp(mockedRequest,mockedResponse);
180 List<CentralV2Role> role = externalAccessRolesService.getRolesForApp(mockedRequest.getHeader(uebKey));
181 assertEquals(null,role);
185 public void getRoleFunctionsListTest() throws Exception {
186 String reason = getInvalidKeyJson();
187 StringWriter sw = new StringWriter();
188 PrintWriter writer = new PrintWriter(sw);
189 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
190 List<CentralV2RoleFunction> answer = null;
191 Mockito.when(externalAccessRolesService.getRoleFuncList(mockedRequest.getHeader(uebKey))).thenReturn(null);
192 assertEquals(externalAccessRolesController.getRoleFunctionsList(mockedRequest, mockedResponse), answer);
193 String result = sw.getBuffer().toString().trim();
194 assertEquals(reason, result);
198 public void getRoleFunctionsListExceptionTest() throws Exception {
199 String reason = getInvalidKeyJson();
200 StringWriter sw = new StringWriter();
201 PrintWriter writer = new PrintWriter(sw);
202 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
203 externalAccessRolesController.getRoleFunctionsList(mockedRequest, mockedResponse);
204 String result = sw.getBuffer().toString().trim();
205 assertEquals(reason, result);
209 public void getRoleInfoTest() throws Exception {
210 String reason = getInvalidKeyJson();
211 StringWriter sw = new StringWriter();
212 PrintWriter writer = new PrintWriter(sw);
213 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
214 CentralV2Role answer = new CentralV2Role();
216 Mockito.when(externalAccessRolesService.getRoleInfo(roleId, mockedRequest.getHeader(uebKey)))
218 externalAccessRolesController.getRoleInfo(mockedRequest, mockedResponse, roleId);
219 String result = sw.getBuffer().toString().trim();
220 assertEquals(reason, result);
224 public void getRoleInfoExceptionTest() throws Exception {
225 String reason = getInvalidKeyJson();
226 StringWriter sw = new StringWriter();
227 PrintWriter writer = new PrintWriter(sw);
228 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
230 assertNull(externalAccessRolesController.getRoleInfo(mockedRequest, mockedResponse, roleId));
231 String result = sw.getBuffer().toString().trim();
232 assertEquals(reason, result);
236 public void getRoleFunctionTest() throws Exception {
237 String reason = getInvalidKeyJson();
238 StringWriter sw = new StringWriter();
239 PrintWriter writer = new PrintWriter(sw);
240 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
241 CentralV2RoleFunction centralV2RoleFunction = new CentralV2RoleFunction();
242 CentralRoleFunction centralRoleFunction = new CentralRoleFunction();
243 String code = "test_menu";
244 Mockito.when(externalAccessRolesService.getRoleFunction(code, mockedRequest.getHeader(uebKey)))
245 .thenReturn(centralV2RoleFunction);
246 CentralRoleFunction returnedValue = externalAccessRolesController.getRoleFunction(mockedRequest, mockedResponse, code);
247 BeanUtils.copyProperties(centralV2RoleFunction, centralRoleFunction, "type","action");
248 assertEquals(returnedValue,centralRoleFunction);
249 String result = sw.getBuffer().toString().trim();
250 assertEquals(reason, result);
254 public void getRoleFunctionExceptionTest() throws Exception {
255 String reason = getInvalidKeyJson();
256 StringWriter sw = new StringWriter();
257 PrintWriter writer = new PrintWriter(sw);
258 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
259 String code = "test_menu";
260 Mockito.when(externalAccessRolesService.getRoleFunction(code, mockedRequest.getHeader(uebKey)))
261 .thenThrow(httpClientErrorException);
262 assertEquals(new CentralRoleFunction(),externalAccessRolesController.getRoleFunction(mockedRequest, mockedResponse, code));
263 String result = sw.getBuffer().toString().trim();
264 assertEquals(reason, result);
267 @Test(expected = NullPointerException.class)
268 public void saveRoleFunctionIfIsIsNotDeletedTest() throws Exception {
269 List<EPApp> applicationList = new ArrayList<EPApp>();
270 EPApp app = mockApp();
271 applicationList.add(app);
272 Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList);
273 PortalRestResponse<String> portalRestResponse = null;
274 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
275 expectedportalRestResponse.setMessage("Invalid uebkey!");
276 expectedportalRestResponse.setResponse("Failed");
277 expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
279 CentralV2RoleFunction centralV2RoleFunction = new CentralV2RoleFunction();
280 Mockito.when(externalAccessRolesService.saveCentralRoleFunction(centralV2RoleFunction, app)).thenReturn(false);
281 portalRestResponse = externalAccessRolesController.saveRoleFunction(mockedRequest, mockedResponse, data);
282 assertEquals(portalRestResponse, expectedportalRestResponse);
285 @Test(expected = NullPointerException.class)
286 public void saveRoleFunctionExceptionTest() throws Exception {
287 List<EPApp> applicationList = new ArrayList<EPApp>();
288 EPApp app = mockApp();
289 applicationList.add(app);
290 Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList);
291 PortalRestResponse<String> portalRestResponse = null;
292 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
293 expectedportalRestResponse.setMessage("Invalid uebkey!");
294 expectedportalRestResponse.setResponse("Failed");
295 expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
296 portalRestResponse = externalAccessRolesController.saveRoleFunction(mockedRequest, mockedResponse, null);
297 System.out.println(portalRestResponse);
298 assertEquals(portalRestResponse, expectedportalRestResponse);
301 @Test(expected = NullPointerException.class)
302 public void saveRoleFunctionTest() throws Exception {
303 List<EPApp> applicationList = new ArrayList<EPApp>();
304 EPApp app = mockApp();
305 applicationList.add(app);
306 Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList);
307 PortalRestResponse<String> portalRestResponse = null;
308 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
309 expectedportalRestResponse.setMessage(null);
310 expectedportalRestResponse.setResponse("Failed");
311 PortalRestStatusEnum portalRestStatusEnum = null;
312 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
314 CentralV2RoleFunction centralV2RoleFunction = new CentralV2RoleFunction();
315 Mockito.when(externalAccessRolesService.saveCentralRoleFunction(centralV2RoleFunction, app)).thenReturn(true);
316 portalRestResponse = externalAccessRolesController.saveRoleFunction(mockedRequest, mockedResponse, data);
317 System.out.println(portalRestResponse);
318 assertEquals(portalRestResponse, expectedportalRestResponse);
323 public void deleteRoleFunctionTest() throws Exception {
324 PortalRestResponse<String> portalRestResponse = null;
325 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
326 expectedportalRestResponse.setMessage("Successfully Deleted");
327 expectedportalRestResponse.setResponse("Success");
328 PortalRestStatusEnum portalRestStatusEnum = null;
329 EPUser user = mockUser.mockEPUser();
330 EPApp app = mockApp();
331 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
332 String code ="testNew";
333 Mockito.when(externalAccessRolesService.getUser(mockedRequest.getHeader("LOGIN_ID"))).thenReturn((List<EPUser>) user);
334 Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader("UEBKEY")).get(0)).thenReturn(app);
335 Mockito.when(externalAccessRolesService.deleteCentralRoleFunction(code, app)).thenReturn(true);
336 portalRestResponse = externalAccessRolesController.deleteRoleFunction(mockedRequest, mockedResponse, code);
337 assertEquals(portalRestResponse, expectedportalRestResponse);
341 public void getActiveRolesTest() throws Exception {
342 String reason = getInvalidKeyJson();
343 StringWriter sw = new StringWriter();
344 PrintWriter writer = new PrintWriter(sw);
345 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
346 Mockito.when(externalAccessRolesService.getActiveRoles(mockedRequest.getHeader(uebKey))).thenReturn(null);
347 List<CentralV2Role> expectedCenRole = externalAccessRolesController.getActiveRoles(mockedRequest, mockedResponse);
348 assertNull(expectedCenRole);
349 String result = sw.getBuffer().toString().trim();
350 assertEquals(reason, result);
354 public void getActiveRolesExceptionTest() throws Exception {
355 String reason = getInvalidKeyJson();
356 StringWriter sw = new StringWriter();
357 PrintWriter writer = new PrintWriter(sw);
358 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
359 externalAccessRolesController.getActiveRoles(mockedRequest, mockedResponse);
360 String result = sw.getBuffer().toString().trim();
361 assertEquals(reason, result);
365 * It return JSON string which has error information
367 * @return JSON String
368 * @throws JsonProcessingException
370 private String getInvalidKeyJson() throws JsonProcessingException {
371 final Map<String,String> uebkeyResponse = new HashMap<>();
373 ObjectMapper mapper = new ObjectMapper();
374 uebkeyResponse.put("error","Invalid uebkey!");
375 reason = mapper.writeValueAsString(uebkeyResponse);
380 public void deleteDependcyRoleRecordExceptionTest() throws Exception {
381 PortalRestResponse<String> portalRestResponse = null;
382 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
383 expectedportalRestResponse.setMessage("Invalid uebkey!");
384 expectedportalRestResponse.setResponse("Failed");
385 PortalRestStatusEnum portalRestStatusEnum = null;
386 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
388 portalRestResponse = externalAccessRolesController.deleteDependencyRoleRecord(mockedRequest, mockedResponse, roleId);
389 assertEquals(expectedportalRestResponse, portalRestResponse);
393 public void bulkUploadFunctionsTest() throws Exception {
395 Mockito.when(externalAccessRolesService.bulkUploadFunctions(mockedRequest.getHeader(uebKey)))
397 PortalRestResponse<String> portalRestResponse = null;
398 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
399 expectedportalRestResponse.setMessage("Successfully added: 0");
400 expectedportalRestResponse.setResponse("Success");
401 PortalRestStatusEnum portalRestStatusEnum = null;
402 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
403 portalRestResponse = externalAccessRolesController.bulkUploadFunctions(mockedRequest, mockedResponse);
404 assertEquals(portalRestResponse, expectedportalRestResponse);
408 public void bulkUploadFunctionsExceptionTest() throws Exception {
409 Mockito.when(externalAccessRolesService.bulkUploadFunctions(mockedRequest.getHeader(uebKey)))
410 .thenThrow(httpClientErrorException);
411 PortalRestResponse<String> portalRestResponse = null;
412 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
413 expectedportalRestResponse.setMessage("Failed to bulkUploadFunctions");
414 expectedportalRestResponse.setResponse("Failed");
415 PortalRestStatusEnum portalRestStatusEnum = null;
416 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
417 portalRestResponse = externalAccessRolesController.bulkUploadFunctions(mockedRequest, mockedResponse);
418 assertEquals(portalRestResponse, expectedportalRestResponse);
422 public void bulkUploadRolesTest() throws Exception {
424 PortalRestResponse<String> portalRestResponse = null;
425 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
426 expectedportalRestResponse.setMessage("Successfully added: 0");
427 expectedportalRestResponse.setResponse("Success");
428 PortalRestStatusEnum portalRestStatusEnum = null;
429 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
430 Mockito.when(externalAccessRolesService.bulkUploadRoles(mockedRequest.getHeader(uebKey))).thenReturn(result);
431 portalRestResponse = externalAccessRolesController.bulkUploadRoles(mockedRequest, mockedResponse);
432 assertEquals(portalRestResponse, expectedportalRestResponse);
436 public void bulkUploadRolesTestException() throws Exception {
437 Mockito.when(externalAccessRolesService.bulkUploadRoles(mockedRequest.getHeader(uebKey)))
438 .thenThrow(httpClientErrorException);
439 PortalRestResponse<String> portalRestResponse = null;
440 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
441 expectedportalRestResponse.setMessage("Failed to bulkUploadRoles");
442 expectedportalRestResponse.setResponse("Failed");
443 PortalRestStatusEnum portalRestStatusEnum = null;
444 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
445 portalRestResponse = externalAccessRolesController.bulkUploadRoles(mockedRequest, mockedResponse);
446 assertEquals(portalRestResponse, expectedportalRestResponse);
450 public void bulkUploadRoleFunctionsTest() throws Exception {
452 PortalRestResponse<String> portalRestResponse = null;
453 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
454 expectedportalRestResponse.setMessage("Successfully added: 0");
455 expectedportalRestResponse.setResponse("Success");
456 PortalRestStatusEnum portalRestStatusEnum = null;
457 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
458 Mockito.when(externalAccessRolesService.bulkUploadRolesFunctions(mockedRequest.getHeader(uebKey)))
460 portalRestResponse = externalAccessRolesController.bulkUploadRoleFunctions(mockedRequest, mockedResponse);
461 assertEquals(portalRestResponse, expectedportalRestResponse);
465 public void bulkUploadRoleFunctionsException() throws Exception {
466 Mockito.when(externalAccessRolesService.bulkUploadRolesFunctions(mockedRequest.getHeader(uebKey)))
467 .thenThrow(httpClientErrorException);
468 PortalRestResponse<String> portalRestResponse = null;
469 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
470 expectedportalRestResponse.setMessage("Failed to bulkUploadRoleFunctions");
471 expectedportalRestResponse.setResponse("Failed");
472 PortalRestStatusEnum portalRestStatusEnum = null;
473 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
474 portalRestResponse = externalAccessRolesController.bulkUploadRoleFunctions(mockedRequest, mockedResponse);
475 assertEquals(portalRestResponse, expectedportalRestResponse);
479 public void bulkUploadUserRolesTest() throws Exception {
481 PortalRestResponse<String> portalRestResponse = null;
482 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
483 expectedportalRestResponse.setMessage("Successfully added: 0");
484 expectedportalRestResponse.setResponse("Success");
485 PortalRestStatusEnum portalRestStatusEnum = null;
486 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
487 Mockito.when(externalAccessRolesService.bulkUploadUserRoles(mockedRequest.getHeader(uebKey)))
489 portalRestResponse = externalAccessRolesController.bulkUploadUserRoles(mockedRequest, mockedResponse);
490 assertEquals(portalRestResponse, expectedportalRestResponse);
494 public void bulkUploadUserRolesExceptionTest() throws Exception {
495 Mockito.when(externalAccessRolesService.bulkUploadUserRoles(mockedRequest.getHeader(uebKey)))
496 .thenThrow(httpClientErrorException);
497 PortalRestResponse<String> portalRestResponse = null;
498 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
499 expectedportalRestResponse.setMessage("Failed to bulkUploadUserRoles");
500 expectedportalRestResponse.setResponse("Failed");
501 PortalRestStatusEnum portalRestStatusEnum = null;
502 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
503 portalRestResponse = externalAccessRolesController.bulkUploadUserRoles(mockedRequest, mockedResponse);
504 assertEquals(portalRestResponse, expectedportalRestResponse);
508 public void bulkUploadPartnerFunctionsTest() throws Exception {
509 PortalRestResponse<String> portalRestResponse = null;
510 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
511 expectedportalRestResponse.setMessage("Successfully added");
512 expectedportalRestResponse.setResponse("Success");
513 PortalRestStatusEnum portalRestStatusEnum = null;
514 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
515 portalRestResponse = externalAccessRolesController.bulkUploadPartnerFunctions(mockedRequest, mockedResponse, null);
516 assertEquals(portalRestResponse, expectedportalRestResponse);
521 public void bulkUploadPartnerRolesTest() throws Exception {
522 PortalRestResponse<String> portalRestResponse = null;
523 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
524 expectedportalRestResponse.setMessage("Successfully added");
525 expectedportalRestResponse.setResponse("Success");
526 PortalRestStatusEnum portalRestStatusEnum = null;
527 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
528 List<Role> upload = new ArrayList<>();
529 portalRestResponse = externalAccessRolesController.bulkUploadPartnerRoles(mockedRequest, mockedResponse,
531 assertEquals(portalRestResponse, expectedportalRestResponse);
535 public void bulkUploadPartnerRolesExceptionTest() throws Exception
537 ExternalAccessRolesService externalAccessRolesService = null;
538 PortalRestResponse<String> portalRestResponse = null;
539 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
540 expectedportalRestResponse.setMessage("Successfully added");
541 expectedportalRestResponse.setResponse("Success");
542 PortalRestStatusEnum portalRestStatusEnum = null;
543 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
544 List<Role> upload = new ArrayList<>();
545 portalRestResponse = externalAccessRolesController.bulkUploadPartnerRoles(mockedRequest, mockedResponse,
547 assertEquals(portalRestResponse, expectedportalRestResponse);
551 public void getMenuFunctionsTest() throws Exception {
552 String reason = getInvalidKeyJson();
553 StringWriter sw = new StringWriter();
554 PrintWriter writer = new PrintWriter(sw);
555 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
556 Mockito.when(externalAccessRolesService.getMenuFunctionsList(mockedRequest.getHeader(uebKey)))
558 List<String> expectedFunctionsList = externalAccessRolesController.getMenuFunctions(mockedRequest,
560 assertNull(expectedFunctionsList);
561 String result = sw.getBuffer().toString().trim();
562 assertEquals(reason, result);
566 public void getMenuFunctionsExceptionTest() throws Exception {
567 String reason = getInvalidKeyJson();
568 StringWriter sw = new StringWriter();
569 PrintWriter writer = new PrintWriter(sw);
570 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
571 Mockito.when(externalAccessRolesService.getMenuFunctionsList(mockedRequest.getHeader(uebKey)))
572 .thenThrow(httpClientErrorException);
573 assertNull(externalAccessRolesController.getMenuFunctions(mockedRequest, mockedResponse));
574 String result = sw.getBuffer().toString().trim();
575 assertEquals(reason, result);
580 public void saveRoleExceptionTest() throws Exception {
581 Role role = new Role();
582 PortalRestResponse<String> portalRestResponse = null;
583 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
584 expectedportalRestResponse.setMessage("Invalid uebkey!");
585 expectedportalRestResponse.setResponse("Failed");
586 PortalRestStatusEnum portalRestStatusEnum = null;
587 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
588 List<Role> upload = new ArrayList<>();
589 portalRestResponse = externalAccessRolesController.saveRole(mockedRequest, mockedResponse,role);
591 assertEquals(portalRestResponse, expectedportalRestResponse);
595 public void deleteRoleExceptionTest() throws Exception {
596 String role = "TestNew";
597 PortalRestResponse<String> portalRestResponse = null;
598 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
599 expectedportalRestResponse.setMessage("Invalid uebkey!");
600 expectedportalRestResponse.setResponse("Failed");
601 PortalRestStatusEnum portalRestStatusEnum = null;
602 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
603 portalRestResponse = externalAccessRolesController.deleteRole(mockedRequest, mockedResponse,role);
604 assertEquals(portalRestResponse, expectedportalRestResponse);
609 public void bulkUploadPartnerRoleFunctionsTest() throws Exception {
610 PortalRestResponse<String> portalRestResponse = null;
611 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
612 expectedportalRestResponse.setMessage("Successfully added");
613 expectedportalRestResponse.setResponse("Success");
614 PortalRestStatusEnum portalRestStatusEnum = null;
615 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
616 List<Role> upload = new ArrayList<>();
617 portalRestResponse = externalAccessRolesController.bulkUploadPartnerRoleFunctions(mockedRequest, mockedResponse,upload);
618 assertEquals(portalRestResponse, expectedportalRestResponse);
622 public void getUsersOfApplicationTest() throws Exception
624 List<EcompUser> users = new ArrayList<>();
625 EcompUser user = new EcompUser();
626 user.setOrgUserId("guestT");
628 StringWriter sw = new StringWriter();
629 PrintWriter writer = new PrintWriter(sw);
630 Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
631 List<EPApp> applicationList = new ArrayList<EPApp>();
632 EPApp app = mockApp();
633 app.setCentralAuth(true);
634 applicationList.add(app);
635 Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList);
636 Mockito.when(externalAccessRolesService.getAllAppUsers(mockedRequest.getHeader(uebKey))).thenReturn(users);
637 ResponseEntity<String> response = new ResponseEntity<>(HttpStatus.OK);
638 Mockito.when(externalAccessRolesService.getNameSpaceIfExists(app)).thenReturn(response);
639 List<EcompUser> expectedUsers = externalAccessRolesController.getUsersOfApplication(mockedRequest, mockedResponse);
640 assertEquals(expectedUsers, users);
643 @Test(expected = Exception.class)
644 public void getUsersOfApplicationExceptionTest() throws Exception
646 List<EcompUser> users = new ArrayList<>();
647 EcompUser user = new EcompUser();
648 user.setOrgUserId("guestT");
650 Mockito.when(externalAccessRolesService.getAllAppUsers(mockedRequest.getHeader(uebKey))).thenThrow(nullPointerException);
651 assertNull(externalAccessRolesController.getUsersOfApplication(mockedRequest, mockedResponse));
654 @Test(expected = NullPointerException.class)
655 public void deleteRoleV2Test() throws Exception
657 List<EPApp> applicationList = new ArrayList<EPApp>();
658 EPApp app = mockApp();
659 applicationList.add(app);
660 Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList);
661 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(true, "Success");
662 Mockito.when(externalAccessRolesService.deleteDependencyRoleRecord(Matchers.anyLong(),Matchers.anyString(),Matchers.anyString())).thenReturn(externalRequestFieldsValidator);
663 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
664 expectedportalRestResponse.setMessage("Successfully Deleted");
665 expectedportalRestResponse.setResponse("Success");
666 PortalRestStatusEnum portalRestStatusEnum = null;
667 expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
668 PortalRestResponse<String> actualResponse = externalAccessRolesController.deleteRole(mockedRequest, mockedResponse, (long)1);
669 assertNull(actualResponse);
673 public void deleteRoleV2InvalidUebKeyTest() throws Exception
675 List<EPApp> applicationList = new ArrayList<EPApp>();
676 EPApp app = mockApp();
677 applicationList.add(app);
678 Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenThrow(new Exception("Invalid uebkey!"));
679 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
680 expectedportalRestResponse.setMessage("Invalid uebkey!");
681 expectedportalRestResponse.setResponse("Failed");
682 PortalRestStatusEnum portalRestStatusEnum = null;
683 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
684 PortalRestResponse<String> actualResponse = externalAccessRolesController.deleteRole(mockedRequest, mockedResponse, (long)1);
685 assertEquals(actualResponse, expectedportalRestResponse);
689 public void deleteRoleV2InvalidUebKeyWithDiffErrorTest() throws Exception
691 List<EPApp> applicationList = new ArrayList<EPApp>();
692 EPApp app = mockApp();
693 applicationList.add(app);
694 Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenThrow(new Exception("test"));
695 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
696 expectedportalRestResponse.setMessage("test");
697 expectedportalRestResponse.setResponse("Failed");
698 PortalRestStatusEnum portalRestStatusEnum = null;
699 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
700 PortalRestResponse<String> actualResponse = externalAccessRolesController.deleteRole(mockedRequest, mockedResponse, (long)1);
701 assertEquals(actualResponse, expectedportalRestResponse);
705 @Test(expected = NullPointerException.class)
706 public void deleteRoleV2ExceptionTest() throws Exception
708 List<EPApp> applicationList = new ArrayList<EPApp>();
709 EPApp app = mockApp();
710 applicationList.add(app);
711 Mockito.when(externalAccessRolesService.getApp(mockedRequest.getHeader(uebKey))).thenReturn(applicationList);
712 ExternalRequestFieldsValidator externalRequestFieldsValidator = new ExternalRequestFieldsValidator(false, "failed");
713 Mockito.when(externalAccessRolesService.deleteDependencyRoleRecord(Matchers.anyLong(),Matchers.anyString(),Matchers.anyString())).thenReturn(externalRequestFieldsValidator);
714 PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
715 expectedportalRestResponse.setMessage("Failed to deleteRole");
716 expectedportalRestResponse.setResponse("Failed");
717 PortalRestStatusEnum portalRestStatusEnum = null;
718 expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
719 PortalRestResponse<String> actualResponse = externalAccessRolesController.deleteRole(mockedRequest, mockedResponse, (long)1);
720 assertEquals(actualResponse, null);