2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.sdc.ci.tests.execute.user;
23 import com.google.gson.*;
24 import com.google.gson.reflect.TypeToken;
25 import org.apache.http.HttpStatus;
26 import org.junit.Rule;
27 import org.junit.rules.TestName;
28 import org.openecomp.sdc.be.dao.api.ActionStatus;
29 import org.openecomp.sdc.be.dao.utils.UserStatusEnum;
30 import org.openecomp.sdc.be.model.LifecycleStateEnum;
31 import org.openecomp.sdc.be.model.Resource;
32 import org.openecomp.sdc.be.model.User;
33 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
34 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
35 import org.openecomp.sdc.ci.tests.datatypes.ResourceRespJavaObject;
36 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
37 import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo;
38 import org.openecomp.sdc.ci.tests.datatypes.enums.NormativeTypesEnum;
39 import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum;
40 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
41 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedUserCRUDAudit;
42 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
43 import org.openecomp.sdc.ci.tests.users.UserResponseMessageEnum;
44 import org.openecomp.sdc.ci.tests.utils.DbUtils;
45 import org.openecomp.sdc.ci.tests.utils.general.Convertor;
46 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
47 import org.openecomp.sdc.ci.tests.utils.rest.*;
48 import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils;
49 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
50 import org.openecomp.sdc.ci.tests.utils.validation.ResourceValidationUtils;
51 import org.openecomp.sdc.ci.tests.utils.validation.UserValidationUtils;
52 import org.slf4j.Logger;
53 import org.slf4j.LoggerFactory;
54 import org.testng.AssertJUnit;
55 import org.testng.annotations.BeforeMethod;
56 import org.testng.annotations.Test;
59 import java.util.Map.Entry;
61 import static org.testng.AssertJUnit.*;
67 public class ActivateDeActivateDeleteUser extends ComponentBaseTest {
68 private static Logger logger = LoggerFactory.getLogger(ActivateDeActivateDeleteUser.class.getName());
69 protected Gson gson = new Gson();
70 protected User sdncAdminUser;
74 sdncAdminUser = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
79 public static TestName name = new TestName();
82 public void authorizeDeActivatedUser() throws Exception {
84 User sdncUserDetails = getDefaultUserDetails();
88 UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
89 DbUtils.cleanAllAudits();
91 RestResponse createUserResponse = UserRestUtils.createUser(sdncUserDetails, sdncAdminUser);
92 validateSuccessCreateUserResponse(sdncUserDetails, createUserResponse);
94 // deActivate created user
95 RestResponse deActivateUserResponse = UserRestUtils.deActivateUser(sdncUserDetails, sdncAdminUser);
96 sdncUserDetails.setStatus(UserStatusEnum.INACTIVE);
97 validateSuccessDeActivateUserResponse(sdncUserDetails, deActivateUserResponse);
99 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.USER_INACTIVE.name());
100 RestResponse getUserResponse = UserRestUtils.getUser(sdncUserDetails, sdncAdminUser);
102 AssertJUnit.assertEquals("Check response code after deActive user", errorInfo.getCode(),
103 getUserResponse.getErrorCode());
105 List<String> variables = Arrays.asList(sdncUserDetails.getUserId());
106 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.USER_INACTIVE.name(), variables,
107 getUserResponse.getResponse());
109 // clean audit before authorization test
110 DbUtils.cleanAllAudits();
112 // Perform login from WebSeal
113 User sealUserDetails = sdncUserDetails;
114 RestResponse authorizedUserResponse = UserRestUtils.authorizedUserTowardsCatalogBeQA(sealUserDetails);
118 ErrorInfo errorInfo2 = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESTRICTED_ACCESS.name());
120 AssertJUnit.assertNotNull("check response object is not null after user login", authorizedUserResponse);
121 AssertJUnit.assertNotNull("check error code exists in response after user login",
122 authorizedUserResponse.getErrorCode());
123 AssertJUnit.assertEquals("Check response code after deActive user", errorInfo2.getCode(),
124 authorizedUserResponse.getErrorCode());
126 List<String> variables2 = Arrays.asList();
127 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_ACCESS.name(), variables2,
128 authorizedUserResponse.getResponse());
130 // validate against ES DB
132 UserValidationUtils.validateDataAgainstAuditDB_access(sealUserDetails,
133 DbUtils.parseAuditRespByAction("Access"), authorizedUserResponse, errorInfo2, variables2);
136 UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
141 public User getDefaultUserDetails() {
143 String httpCspUserId = "km2000";
144 String userFirstName = "Kot";
145 String userLastName = "May";
146 String email = "km2000@intl.sdc.com";
147 String role = UserRoleEnum.ADMIN.name();
148 User sdncUserDetails = new User(userFirstName, userLastName, httpCspUserId, email, role, null);
150 return sdncUserDetails;
153 public void validateSuccessCreateUserResponse(User sdncUserDetails, RestResponse createUserResponse)
156 AssertJUnit.assertNotNull("check response object is not null after create user", createUserResponse);
157 AssertJUnit.assertNotNull("check error code exists in response after create user",
158 createUserResponse.getErrorCode());
159 AssertJUnit.assertEquals("Check response code after create user", HttpStatus.SC_CREATED,
160 createUserResponse.getErrorCode().intValue());
162 UserValidationUtils.validateUserDetailsOnResponse(sdncUserDetails, createUserResponse.getResponse());
163 // UserRestUtils.validateAddUserAuditMessage(sdncUserDetails,
164 // sdncAdminUser, String.valueOf(HttpStatus.SC_CREATED),
165 // UserResponseMessageEnum.SUCCESS_MESSAGE.getValue(),
166 // UserRestUtils.getAddUserAuditMessage("AddUser"));
167 String addUser = "AddUser";
168 ExpectedUserCRUDAudit constructFieldsForAuditValidation = Convertor.constructFieldsForAuditValidation(addUser,
169 sdncAdminUser, ActionStatus.CREATED, sdncUserDetails, null);
170 AuditValidationUtils.validateAddUserAudit(constructFieldsForAuditValidation, addUser);
172 RestResponse getUserResponse = UserRestUtils.getUser(sdncUserDetails, sdncAdminUser);
173 UserValidationUtils.validateUserDetailsOnResponse(sdncUserDetails, getUserResponse.getResponse());
177 public void validateSuccessDeActivateUserResponse(User sdncUserDetails, RestResponse deActivateUserResponse)
180 AssertJUnit.assertNotNull("check response object is not null after deActive user", deActivateUserResponse);
181 AssertJUnit.assertNotNull("check error code exists in response after deActive user",
182 deActivateUserResponse.getErrorCode());
183 AssertJUnit.assertEquals("Check response code after deActive user", 200,
184 deActivateUserResponse.getErrorCode().intValue());
186 UserValidationUtils.validateUserDetailsOnResponse(sdncUserDetails, deActivateUserResponse.getResponse());
188 String deleteUser = "DeleteUser";
189 ExpectedUserCRUDAudit constructFieldsForAuditValidation = Convertor
190 .constructFieldsForAuditValidation(deleteUser, sdncAdminUser, ActionStatus.OK, null, sdncUserDetails);
191 AuditValidationUtils.validateAddUserAudit(constructFieldsForAuditValidation, deleteUser);
195 // US498322 - Add Status Field to USER
198 public void createNewUser() throws Exception {
200 User sdncUserDetails = getDefaultUserDetails();
203 UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
204 DbUtils.cleanAllAudits();
206 RestResponse createUserResponse = UserRestUtils.createUser(sdncUserDetails, sdncAdminUser);
207 validateSuccessCreateUserResponse(sdncUserDetails, createUserResponse);
210 UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
216 public void createDefaultUser() throws Exception {
218 User sdncUserDetails = getDefaultUserDetails();
219 sdncUserDetails.setFirstName(null);
220 sdncUserDetails.setLastName(null);
221 sdncUserDetails.setEmail(null);
222 sdncUserDetails.setRole(null);
226 UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
227 DbUtils.cleanAllAudits();
229 RestResponse createUserResponse = UserRestUtils.createUser(sdncUserDetails, sdncAdminUser);
230 validateSuccessCreateUserResponse(sdncUserDetails, createUserResponse);
233 UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
239 public void createTesterUser() throws Exception {
241 User sdncUserDetails = getDefaultUserDetails();
242 sdncUserDetails.setLastName(null);
243 sdncUserDetails.setRole(UserRoleEnum.TESTER.name());
247 UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
248 DbUtils.cleanAllAudits();
250 RestResponse createUserResponse = UserRestUtils.createUser(sdncUserDetails, sdncAdminUser);
251 validateSuccessCreateUserResponse(sdncUserDetails, createUserResponse);
254 UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
260 public void deActivateCreatedAdminUser() throws Exception {
262 User sdncUserDetails = getDefaultUserDetails();
266 UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
267 DbUtils.cleanAllAudits();
269 RestResponse createUserResponse = UserRestUtils.createUser(sdncUserDetails, sdncAdminUser);
270 validateSuccessCreateUserResponse(sdncUserDetails, createUserResponse);
272 // deActivate created user
273 RestResponse deActivateUserResponse = UserRestUtils.deActivateUser(sdncUserDetails, sdncAdminUser);
274 sdncUserDetails.setStatus(UserStatusEnum.INACTIVE);
275 validateSuccessDeActivateUserResponse(sdncUserDetails, deActivateUserResponse);
277 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.USER_INACTIVE.name());
279 RestResponse getUserResponse = UserRestUtils.getUser(sdncUserDetails, sdncAdminUser);
281 assertEquals("Check response code after get user", errorInfo.getCode(), getUserResponse.getErrorCode());
283 List<String> variables = Arrays.asList(sdncUserDetails.getUserId());
284 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.USER_INACTIVE.name(), variables,
285 getUserResponse.getResponse());
288 UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
294 public void deActivateTheSameUserTwice() throws Exception {
296 User sdncUserDetails = getDefaultUserDetails();
300 UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
301 DbUtils.cleanAllAudits();
303 RestResponse createUserResponse = UserRestUtils.createUser(sdncUserDetails, sdncAdminUser);
304 validateSuccessCreateUserResponse(sdncUserDetails, createUserResponse);
306 // deActivate created user
307 RestResponse deActivateUserResponse = UserRestUtils.deActivateUser(sdncUserDetails, sdncAdminUser);
308 sdncUserDetails.setStatus(UserStatusEnum.INACTIVE);
309 validateSuccessDeActivateUserResponse(sdncUserDetails, deActivateUserResponse);
311 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.USER_INACTIVE.name());
313 RestResponse getUserResponse = UserRestUtils.getUser(sdncUserDetails, sdncAdminUser);
315 assertEquals("Check response code after deActive user", errorInfo.getCode(),
316 getUserResponse.getErrorCode());
318 List<String> variables = Arrays.asList(sdncUserDetails.getUserId());
319 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.USER_INACTIVE.name(), variables,
320 getUserResponse.getResponse());
322 // deActivate the same user once time more
323 RestResponse deActivateUserResponse2 = UserRestUtils.deActivateUser(sdncUserDetails, sdncAdminUser);
324 ErrorInfo errorInfo2 = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.USER_INACTIVE.name());
325 assertEquals("Check response code after deActive user", errorInfo2.getCode(),
326 deActivateUserResponse2.getErrorCode());
328 List<String> variables2 = Arrays.asList(sdncUserDetails.getUserId());
329 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.USER_INACTIVE.name(), variables2,
330 deActivateUserResponse2.getResponse());
333 UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
339 public void createAgainDeActivatedUser() throws Exception {
341 User sdncUserDetails = getDefaultUserDetails();
345 UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
346 DbUtils.cleanAllAudits();
348 RestResponse createUserResponse = UserRestUtils.createUser(sdncUserDetails, sdncAdminUser);
349 validateSuccessCreateUserResponse(sdncUserDetails, createUserResponse);
351 // deActivate created user
352 RestResponse deActivateUserResponse = UserRestUtils.deActivateUser(sdncUserDetails, sdncAdminUser);
353 sdncUserDetails.setStatus(UserStatusEnum.INACTIVE);
354 validateSuccessDeActivateUserResponse(sdncUserDetails, deActivateUserResponse);
356 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.USER_INACTIVE.name());
357 RestResponse getUserResponse = UserRestUtils.getUser(sdncUserDetails, sdncAdminUser);
359 assertEquals("Check response code after deActive user", errorInfo.getCode(),
360 getUserResponse.getErrorCode());
362 List<String> variables = Arrays.asList(sdncUserDetails.getUserId());
363 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.USER_INACTIVE.name(), variables,
364 getUserResponse.getResponse());
366 // create the user with the same UserId(details) as deActivated user
367 DbUtils.cleanAllAudits();
369 RestResponse createUserResponse2 = UserRestUtils.createUser(sdncUserDetails, sdncAdminUser);
370 ErrorInfo errorInfo2 = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.USER_INACTIVE.name());
371 assertEquals("Check response code after deActive user", errorInfo2.getCode(),
372 createUserResponse2.getErrorCode());
374 List<String> variables2 = Arrays.asList(sdncUserDetails.getUserId());
375 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.USER_INACTIVE.name(), variables2,
376 createUserResponse2.getResponse());
379 UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
384 // very not recommend to run this test, resources/services may be zombie
386 public void deActivateLastAdminUser() throws Exception {
390 // send get all ADMIN user request toward BE
391 RestResponse getAllAdminUsers = UserRestUtils.getAllAdminUsers(sdncAdminUser);
393 assertNotNull("check response object is not null after create user", getAllAdminUsers);
394 assertNotNull("check error code exists in response after create user", getAllAdminUsers.getErrorCode());
395 assertEquals("Check response code after create user", 200, getAllAdminUsers.getErrorCode().intValue());
397 TypeToken<List<User>> typeToken = new TypeToken<List<User>>() {
399 List<User> listOfUsersOnResponse = gson.fromJson(getAllAdminUsers.getResponse(), typeToken.getType());
400 logger.debug("listOfUsers: {}", listOfUsersOnResponse);
402 // build map of all Admin users from listOfUsersOnResponse from
404 Map<String, User> mapAllUsersOnResponse = new HashMap<String, User>();
405 for (User sdncUser : listOfUsersOnResponse) {
406 mapAllUsersOnResponse.put(sdncUser.getUserId(), sdncUser);
409 // remove from mapAllUsersOnResponse map one of admin users
410 mapAllUsersOnResponse.remove(sdncAdminUser.getUserId());
411 logger.debug("map Of all Admin users exclude one : {}", mapAllUsersOnResponse);
413 // deActivate all Admin users from the userIdAllAdminList list
414 for (Entry<String, User> entry : mapAllUsersOnResponse.entrySet()) {
415 UserRestUtils.deActivateUser(entry.getValue(), sdncAdminUser);
418 // deActivate last Admin user user
419 RestResponse deActivateUserResponse = UserRestUtils.deActivateUser(sdncAdminUser, sdncAdminUser);
421 ErrorInfo errorInfo = ErrorValidationUtils
422 .parseErrorConfigYaml(ActionStatus.DELETE_USER_ADMIN_CONFLICT.name());
424 assertEquals("Check response code after deActive user", errorInfo.getCode(),
425 deActivateUserResponse.getErrorCode());
427 List<String> variables = Arrays.asList();
428 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.DELETE_USER_ADMIN_CONFLICT.name(), variables,
429 deActivateUserResponse.getResponse());
432 // UserRestUtils.deleteUser(UserRestUtils.getAdminDetails2(),
434 // UserRestUtils.deleteUser(UserRestUtils.getAdminDetails3(),
436 // UserRestUtils.createUser(UserRestUtils.getAdminDetails2(),
438 // UserRestUtils.createUser(UserRestUtils.getAdminDetails3(),
444 // test check the resource accessibility via catalog view, resource was
445 // created by user which was deActivated
448 public void resourceAccessibility() throws Exception {
450 User sdncUserDetails = getDefaultUserDetails();
451 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource("tosca.nodes.newresource4test4",
452 NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, "jh0003");
453 String resourceBaseVersion = "0.1";
457 // resourceUtils.deleteResource_allVersions(resourceDetails,
459 UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
461 DbUtils.cleanAllAudits();
462 RestResponse createUserResponse = UserRestUtils.createUser(sdncUserDetails, sdncAdminUser);
463 validateSuccessCreateUserResponse(sdncUserDetails, createUserResponse);
465 // ------------------------Start create
466 // resource---------------------------------------------------------------------------------
469 RestResponse createResponse = ResourceRestUtils.createResource(resourceDetails, sdncUserDetails);
470 assertEquals("Check response code after create", 201, createResponse.getErrorCode().intValue());
472 Resource createdResource = ResponseParser.convertResourceResponseToJavaObject(createResponse.getResponse());
474 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncUserDetails,
475 createdResource.getUniqueId());
476 assertEquals("Check response code after get", 200, resourceGetResponse.getErrorCode().intValue());
478 // validate get response
479 ResourceRespJavaObject resourceRespJavaObject = Convertor.constructFieldsForRespValidation(resourceDetails,
480 resourceBaseVersion);
481 resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
482 resourceRespJavaObject.setAbstractt("false");
483 resourceRespJavaObject.setCreatorUserId(sdncUserDetails.getUserId());
484 resourceRespJavaObject.setLastUpdaterUserId(sdncUserDetails.getUserId());
486 resourceRespJavaObject
487 .setCreatorFullName(sdncUserDetails.getFirstName() + " " + sdncUserDetails.getLastName());
488 resourceRespJavaObject
489 .setLastUpdaterFullName(sdncUserDetails.getFirstName() + " " + sdncUserDetails.getLastName());
491 ResourceValidationUtils.validateResp(resourceGetResponse, resourceRespJavaObject);
493 // ------------------------End create
494 // resource---------------------------------------------------------------------------------
496 // clean audit before authorization test
497 DbUtils.cleanAllAudits();
499 // deActivate created user
500 RestResponse deActivateUserResponse = UserRestUtils.deActivateUser(sdncUserDetails, sdncAdminUser);
501 sdncUserDetails.setStatus(UserStatusEnum.INACTIVE);
502 validateSuccessDeActivateUserResponse(sdncUserDetails, deActivateUserResponse);
504 UserValidationUtils.validateDeleteUserAuditMessage(sdncUserDetails, sdncAdminUser, "200",
505 UserResponseMessageEnum.SUCCESS_MESSAGE.getValue(),
506 UserValidationUtils.getAddUserAuditMessage("DeleteUser"));
508 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.USER_INACTIVE.name());
509 RestResponse getUserResponse = UserRestUtils.getUser(sdncUserDetails, sdncAdminUser);
511 assertEquals("Check response code after deActive user", errorInfo.getCode(),
512 getUserResponse.getErrorCode());
514 List<String> variables = Arrays.asList(sdncUserDetails.getUserId());
515 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.USER_INACTIVE.name(), variables,
516 getUserResponse.getResponse());
518 // checking if created resource is accessible
519 DbUtils.cleanAllAudits();
521 RestResponse getCatalogDataResponse = CatalogRestUtils.getCatalog(sdncAdminUser.getUserId());
525 assertNotNull("check response object is not null after user login", getCatalogDataResponse);
526 assertNotNull("check error code exists in response after user login",
527 getCatalogDataResponse.getErrorCode());
528 assertEquals("Check response code after deActive user", 200,
529 getCatalogDataResponse.getErrorCode().intValue());
531 // expected resource list
532 List<String> resourceExpectedUniqIdList = new ArrayList<String>();
533 resourceExpectedUniqIdList.add(resourceDetails.getUniqueId());
534 logger.debug("resourceExpectedUniqIdList: {}", resourceExpectedUniqIdList);
536 compareResourceUniqIdList(getCatalogDataResponse.getResponse(), resourceExpectedUniqIdList, true);
539 // resourceUtils.deleteResource_allVersions(resourceDetails,
541 UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
546 // test check the resource accessibility via catalog view, resource was
547 // created by user which was deActivated
550 public void resourceAccessibilityOnImport() throws Exception {
552 User sdncUserDetails = getDefaultUserDetails();
553 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource("importResource4test",
554 NormativeTypesEnum.ROOT, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, "jh0003");
555 resourceDetails.addCategoryChain(ResourceCategoryEnum.GENERIC_DATABASE.getCategory(),
556 ResourceCategoryEnum.GENERIC_DATABASE.getSubCategory());
557 // String resourceBaseVersion = "1.0";
561 // resourceUtils.deleteResource_allVersions(resourceDetails,
563 RestResponse deleteUserResponse = UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
564 assertTrue("delete user request failed",
565 deleteUserResponse.getErrorCode() == 200 || deleteUserResponse.getErrorCode() == 404);
566 DbUtils.cleanAllAudits();
567 RestResponse createUserResponse = UserRestUtils.createUser(sdncUserDetails, sdncAdminUser);
568 validateSuccessCreateUserResponse(sdncUserDetails, createUserResponse);
570 // ------------------------Start import
571 // resource---------------------------------------------------------------------------------
573 // import new resource with CERTIFIED state
574 User importer = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN2);
575 RestResponse importResponse = ImportRestUtils.importResourceByName(resourceDetails, importer);
577 assertNotNull("check response object is not null after create user", importResponse);
578 assertNotNull("check error code exists in response after create user", importResponse.getErrorCode());
579 assertEquals("Check response code after create user", 201, importResponse.getErrorCode().intValue());
581 // ------------------------End import
582 // resource---------------------------------------------------------------------------------
584 // clean audit before authorization test
585 DbUtils.cleanAllAudits();
587 // deActivate created user
588 RestResponse deActivateUserResponse = UserRestUtils.deActivateUser(sdncUserDetails, sdncAdminUser);
589 sdncUserDetails.setStatus(UserStatusEnum.INACTIVE);
590 validateSuccessDeActivateUserResponse(sdncUserDetails, deActivateUserResponse);
592 UserValidationUtils.validateDeleteUserAuditMessage(sdncUserDetails, sdncAdminUser, "200",
593 UserResponseMessageEnum.SUCCESS_MESSAGE.getValue(),
594 UserValidationUtils.getAddUserAuditMessage("DeleteUser"));
596 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.USER_INACTIVE.name());
597 RestResponse getUserResponse = UserRestUtils.getUser(sdncUserDetails, sdncAdminUser);
599 assertEquals("Check response code after deActive user", errorInfo.getCode(),
600 getUserResponse.getErrorCode());
602 List<String> variables = Arrays.asList(sdncUserDetails.getUserId());
603 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.USER_INACTIVE.name(), variables,
604 getUserResponse.getResponse());
606 // checking if created resource is accessible
607 DbUtils.cleanAllAudits();
609 RestResponse getCatalogDataResponse = CatalogRestUtils.getCatalog(sdncAdminUser.getUserId());
613 assertNotNull("check response object is not null after user login", getCatalogDataResponse);
614 assertNotNull("check error code exists in response after user login",
615 getCatalogDataResponse.getErrorCode());
616 assertEquals("Check response code after deActive user", 200,
617 getCatalogDataResponse.getErrorCode().intValue());
619 // expected resource list
620 List<String> resourceExpectedUniqIdList = new ArrayList<String>();
621 resourceExpectedUniqIdList.add(resourceDetails.getUniqueId());
622 logger.debug("resourceExpectedUniqIdList: {}", resourceExpectedUniqIdList);
624 compareResourceUniqIdList(getCatalogDataResponse.getResponse(), resourceExpectedUniqIdList, true);
627 // resourceUtils.deleteResource_allVersions(resourceDetails,
629 UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true);
634 public void compareServiceUniqIdList(String response, List<String> expectedList, boolean flag) {
636 JsonElement jelement = new JsonParser().parse(response);
637 JsonObject jobject = jelement.getAsJsonObject();
638 JsonArray serviceArray = (JsonArray) jobject.get("services");
639 logger.debug("{}", serviceArray);
640 assertTrue("expected service count: " + expectedList.size() + " or more" + ", actual: " + serviceArray.size(),
641 serviceArray.size() >= expectedList.size());
643 // build service list from response
644 List<ServiceReqDetails> serviceReqDetailsListOnResponse = new ArrayList<ServiceReqDetails>();
645 for (int i = 0; i < serviceArray.size(); i++) {
646 ServiceReqDetails json = gson.fromJson(serviceArray.get(i), ServiceReqDetails.class);
647 serviceReqDetailsListOnResponse.add(json);
651 public void compareResourceUniqIdList(String response, List<String> expectedList, boolean flag) {
653 JsonElement jelement = new JsonParser().parse(response);
654 JsonObject jobject = jelement.getAsJsonObject();
655 JsonArray resourceArray = (JsonArray) jobject.get("resources");
656 logger.debug("{}", resourceArray);
657 assertTrue("expected resource count: " + expectedList.size() + " or more" + ", actual: " + resourceArray.size(),
658 resourceArray.size() >= expectedList.size());
660 // build resource list from response
661 List<ResourceReqDetails> resourceReqDetailsListOnResponse = new ArrayList<ResourceReqDetails>();
662 for (int i = 0; i < resourceArray.size(); i++) {
663 ResourceReqDetails json = gson.fromJson(resourceArray.get(i), ResourceReqDetails.class);
664 resourceReqDetailsListOnResponse.add(json);
667 logger.debug("ResourceReqDetails list on response: {}", resourceReqDetailsListOnResponse);
669 List<String> resourceActualUniqIdList = new ArrayList<String>();
670 for (ResourceReqDetails resource : resourceReqDetailsListOnResponse) {
671 resourceActualUniqIdList.add(resource.getUniqueId());
673 logger.debug("resourceActualUniqIdList on response: {}", resourceActualUniqIdList);
674 logger.debug("resourceExpectedUniqIdList on response: {}", expectedList);
677 assertTrue("actual list does not contain expected list",
678 resourceActualUniqIdList.containsAll(expectedList));
680 assertFalse("actual list contains non expected list elements",
681 resourceActualUniqIdList.containsAll(expectedList));
685 // public User getDefaultUserDetails(){
687 // String userFirstName = "Kot";
688 // String userLastName = "May";
689 // String role = UserRoleEnum.ADMIN.name();
690 // User sdncUserDetails = new User(userFirstName, userLastName,
691 // httpCspUserId, email, role,null);
693 // return sdncUserDetails;
696 // public void validateSuccessCreateUserResponse(User sdncUserDetails,
697 // RestResponse createUserResponse) throws Exception{
699 // assertNotNull("check response object is not null after create user",
700 // createUserResponse);
701 // assertNotNull("check error code exists in response after create user",
702 // createUserResponse.getErrorCode());
703 // assertEquals("Check response code after create user",
704 // HttpStatus.SC_CREATED, createUserResponse.getErrorCode().intValue());
706 // UserRestUtils.validateUserDetailsOnResponse(sdncUserDetails,
707 // createUserResponse.getResponse());
708 // UserRestUtils.validateAddUserAuditMessage(sdncUserDetails, sdncAdminUser,
709 // String.valueOf(HttpStatus.SC_CREATED),
710 // UserResponseMessageEnum.SUCCESS_MESSAGE.getValue(),
711 // UserRestUtils.getAddUserAuditMessage("AddUser"));
712 // RestResponse getUserResponse = UserRestUtils.getUser(sdncUserDetails,
714 // UserRestUtils.validateUserDetailsOnResponse(sdncUserDetails,
715 // getUserResponse.getResponse());
719 // public void validateSuccessDeActivateUserResponse(User sdncUserDetails,
720 // RestResponse deActivateUserResponse) throws Exception{
722 // assertNotNull("check response object is not null after deActive user",
723 // deActivateUserResponse);
724 // assertNotNull("check error code exists in response after deActive user",
725 // deActivateUserResponse.getErrorCode());
726 // assertEquals("Check response code after deActive user", 200,
727 // deActivateUserResponse.getErrorCode().intValue());
729 // UserRestUtils.validateUserDetailsOnResponse(sdncUserDetails,
730 // deActivateUserResponse.getResponse());
731 // UserRestUtils.validateDeleteUserAuditMessage(sdncUserDetails,
732 // sdncAdminUser, "200", UserResponseMessageEnum.SUCCESS_MESSAGE.getValue(),
733 // UserRestUtils.getAddUserAuditMessage("DeleteUser"));