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.imports;
23 import com.google.gson.Gson;
24 import org.apache.commons.codec.binary.Base64;
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.datatypes.enums.ResourceTypeEnum;
30 import org.openecomp.sdc.be.model.LifecycleStateEnum;
31 import org.openecomp.sdc.be.model.PropertyDefinition;
32 import org.openecomp.sdc.be.model.Resource;
33 import org.openecomp.sdc.be.model.User;
34 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
35 import org.openecomp.sdc.ci.tests.api.Urls;
36 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
37 import org.openecomp.sdc.ci.tests.datatypes.ResourceRespJavaObject;
38 import org.openecomp.sdc.ci.tests.datatypes.enums.*;
39 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject;
40 import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
41 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
42 import org.openecomp.sdc.ci.tests.utils.DbUtils;
43 import org.openecomp.sdc.ci.tests.utils.general.Convertor;
44 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
45 import org.openecomp.sdc.ci.tests.utils.rest.ImportRestUtils;
46 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
47 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
48 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
49 import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils;
50 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
51 import org.openecomp.sdc.ci.tests.utils.validation.ResourceValidationUtils;
52 import org.openecomp.sdc.common.api.Constants;
53 import org.openecomp.sdc.common.util.GeneralUtility;
54 import org.testng.annotations.BeforeMethod;
55 import org.testng.annotations.Test;
57 import java.io.IOException;
60 import static org.testng.AssertJUnit.*;
62 public class ImportNewResourceCITest extends ComponentBaseTest {
64 // public static UserUtils userUtils = new UserUtils();
65 // public ResourceUtils resourceUtils = new ResourceUtils();
66 // public AuditValidationUtils AuditValidationUtils = new
67 // AuditValidationUtils();
68 // protected ArtifactUtils artifactUtils = new ArtifactUtils();
70 protected String resourceVersion = null;
71 protected String auditAction = null;
72 public User sdncModifierDetails = new User();
73 protected String artifactName1 = "data_artifact1.sh";
74 protected String artifactName2 = "data_artifact2.sh";
75 protected String interfaze = "standard";
76 protected String interfaceArtifactName = "data_interface1.sh";
78 private String SPECIAL_CHARACTERS = "~!#@~$%^*()[];:'\"|\\/";
80 public ResourceReqDetails resourceDetails = new ResourceReqDetails();
82 public Gson gson = new Gson();
85 public static TestName name = new TestName();
87 public ImportNewResourceCITest() {
88 super(name, ImportNewResourceCITest.class.getName());
92 public void before() throws Exception {
95 sdncModifierDetails.setUserId(UserRoleEnum.ADMIN.getUserId());
96 // init resource details
97 resourceDetails = ElementFactory.getDefaultResource("importResource4test", NormativeTypesEnum.ROOT,
98 ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, "jh0003");
102 public void importAllTestResources_toValidateNewAPI() throws Exception {
104 for (ImportTestTypesEnum currResource : ImportTestTypesEnum.values()) {
106 DbUtils.cleanAllAudits();
108 // import testResources trough newResource API
109 RestResponse importResponse = ImportRestUtils.importNewResourceByName(currResource.getFolderName(),
111 System.err.println("import Resource " + "<" + currResource.getFolderName() + ">" + "response: "
112 + importResponse.getErrorCode());
115 ImportRestUtils.validateImportTestTypesResp(currResource, importResponse);
116 if (currResource.getvalidateAudit() == true) {
118 // String baseVersion="0.1";
119 String baseVersion = "";
120 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(currResource.getActionStatus().name());
121 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
122 String auditAction = "ResourceImport";
123 expectedResourceAuditJavaObject.setAction(auditAction);
124 expectedResourceAuditJavaObject.setModifierUid(UserRoleEnum.ADMIN.getUserId());
125 expectedResourceAuditJavaObject.setModifierName(UserRoleEnum.ADMIN.getUserName());
126 expectedResourceAuditJavaObject.setResourceName(currResource.getNormativeName());
127 expectedResourceAuditJavaObject.setResourceType("Resource");
128 expectedResourceAuditJavaObject.setPrevVersion("");
129 expectedResourceAuditJavaObject.setCurrVersion(baseVersion);
130 expectedResourceAuditJavaObject.setPrevState("");
131 // expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
132 expectedResourceAuditJavaObject.setCurrState("");
133 expectedResourceAuditJavaObject.setComment(null);
134 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
135 List<String> variables = (currResource.getErrorParams() != null ? currResource.getErrorParams()
136 : new ArrayList<String>());
137 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
138 expectedResourceAuditJavaObject.setDesc(auditDesc);
139 AuditValidationUtils.validateAuditImport(expectedResourceAuditJavaObject, auditAction);
144 protected RestResponse importNewResource(UserRoleEnum userRoleEnum) throws Exception {
147 sdncModifierDetails.setUserId(userRoleEnum.getUserId());
148 // init resource details
149 resourceDetails = ElementFactory.getDefaultResource("importResource4test", NormativeTypesEnum.ROOT,
150 ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, "jh0003");
152 DbUtils.cleanAllAudits();
153 // import new resource (expected checkOut state)
154 RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4test", userRoleEnum);
155 return importResponse;
158 @Test(enabled = false)
159 public void importUIResource() throws IOException {
160 String payload = "tosca_definitions_version: tosca_simple_yaml_1_0_0\r\n" + "node_types: \r\n"
161 + " org.openecomp.resource.importResource4test:\r\n" + " derived_from: tosca.nodes.Root\r\n"
162 + " description: someDesc";
164 String encodedPayload = new String(Base64.encodeBase64(payload.getBytes()));
166 String json = "{\r\n" + " \"resourceName\": \"importResource4test\",\r\n"
167 + " \"payloadName\": \"importResource4test.yml\",\r\n"
168 + " \"categories\": [{\"name\": \"Application L4+\",\"normalizedName\": \"application l4+\",\"uniqueId\": \"resourceNewCategory.application l4+\",\"subcategories\": [{\"name\": \"Web Server\"}]}],\r\n"
169 + " \"description\": \"ResourceDescription\",\r\n" + " \"vendorName\": \"VendorName\",\r\n"
170 + " \"vendorRelease\": \"VendorRelease\",\r\n" + " \"contactId\": \"AT1234\",\r\n"
171 + " \"icon\": \"router\",\r\n" + " \"tags\": [\r\n" + " \"importResource4test\"\r\n" + " ],\r\n"
172 + " \"payloadData\": \"" + encodedPayload + "\"\r\n" + "}";
174 String md5 = GeneralUtility.calculateMD5Base64EncodedByString(json);
176 Map<String, String> headers = new HashMap<String, String>();
177 headers.put(Constants.MD5_HEADER, md5);
178 headers.put(Constants.USER_ID_HEADER, UserRoleEnum.ADMIN.getUserId());
179 headers.put(Constants.CONTENT_TYPE_HEADER, "application/json");
181 String url = String.format(Urls.CREATE_RESOURCE, config.getCatalogBeHost(), config.getCatalogBePort());
183 HttpRequest httpUtil = new HttpRequest();
184 RestResponse httpSendPost = httpUtil.httpSendPost(url, json, headers);
185 Integer errorCode = httpSendPost.getErrorCode();
186 assertTrue(errorCode == HttpStatus.SC_CREATED);
191 @Test(enabled = false)
192 public void importNewResource_suc() throws Exception {
194 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
196 assertNotNull("check response object is not null after import resource", importResponse);
197 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
198 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
202 resourceVersion = "0.1";
204 // ResourceRespJavaObject resourceRespJavaObject =
205 // Convertor.constructFieldsForRespValidation(resourceDetails,
207 // resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
208 // ResourceValidationUtils.validateResp(importResponse,
209 // resourceRespJavaObject);
211 // //validate get response
213 // RestResponse resourceGetResponse =
214 // ResourceRestUtils.getResource(sdncModifierDetails, resourceVersion);
215 // ResourceValidationUtils.validateResp(resourceGetResponse,
216 // resourceRespJavaObject);
217 Resource resourceFromImport = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
218 assertNotNull(resourceFromImport);
220 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
221 ResourceRespJavaObject resourceRespJavaObject = Convertor.constructFieldsForRespValidation(resourceDetails);
222 resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
224 // validate get response
225 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
226 resourceRespJavaObject.getUniqueId());
227 Resource resourceFromGet = ResponseParser
228 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
229 assertNotNull(resourceFromGet);
232 ResourceValidationUtils.validateModelObjects(resourceFromImport, resourceFromGet);
235 resourceDetails.setVersion(resourceDetails.getVersion());
236 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
237 .constructFieldsForAuditValidation(resourceDetails, resourceVersion);
239 auditAction = "ResourceImport";
240 expectedResourceAuditJavaObject.setAction(auditAction);
241 expectedResourceAuditJavaObject.setPrevState("");
242 expectedResourceAuditJavaObject.setPrevVersion("");
243 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
244 expectedResourceAuditJavaObject.setStatus("201");
245 expectedResourceAuditJavaObject.setDesc("OK");
246 expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
247 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
252 public void importNewResource_byTester_failed() throws Exception {
254 RestResponse importResponse = importNewResource(UserRoleEnum.TESTER);
256 assertNotNull("check response object is not null after import resource", importResponse);
257 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
258 assertEquals("Check response code after import resource", 409, importResponse.getErrorCode().intValue());
263 @Test(enabled = false)
264 public void importNewResource_existInCheckout_updateVendorName_updateCategory() throws Exception {
266 // import new resource
267 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
269 assertNotNull("check response object is not null after import resource", importResponse);
270 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
271 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
274 DbUtils.cleanAllAudits();
276 // import new resource while resource already exist in other state
277 importResponse = ImportRestUtils.importNewResourceByName("importResource4testUpdateVendorNameAndCategory",
280 assertNotNull("check response object is not null after import resource", importResponse);
281 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
282 assertEquals("Check response code after import resource", 200, importResponse.getErrorCode().intValue());
285 Resource resourceFromImport = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
286 assertNotNull(resourceFromImport);
288 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
289 ResourceRespJavaObject resourceRespJavaObject = Convertor.constructFieldsForRespValidation(resourceDetails);
290 resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
292 // validate get response
293 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
294 resourceRespJavaObject.getUniqueId());
295 Resource resourceFromGet = ResponseParser
296 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
297 assertNotNull(resourceFromGet);
300 ResourceValidationUtils.validateModelObjects(resourceFromImport, resourceFromGet);
303 resourceDetails.setVersion(resourceDetails.getVersion());
304 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
305 .constructFieldsForAuditValidation(resourceDetails);
307 auditAction = "ResourceImport";
308 resourceVersion = "0.1";
309 expectedResourceAuditJavaObject.setAction(auditAction);
310 expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
311 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
312 expectedResourceAuditJavaObject.setPrevVersion(resourceVersion);
313 expectedResourceAuditJavaObject.setStatus("200");
314 expectedResourceAuditJavaObject.setDesc("OK");
315 expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
316 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
320 public void importNewResource_perfromByAdmin_ownedBy_diffrentUser() throws Exception {
322 RestResponse importResponse = importNewResource(UserRoleEnum.DESIGNER);
324 assertNotNull("check response object is not null after import resource", importResponse);
325 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
326 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
328 Resource resourceFromImport = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
330 DbUtils.cleanAllAudits();
332 importResponse = importNewResource(UserRoleEnum.ADMIN);
334 assertNotNull("check response object is not null after import resource", importResponse);
335 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
337 ErrorInfo errorInfo = ErrorValidationUtils
338 .parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CHECKOUT_STATE.name());
339 assertEquals("Check response code after adding artifact", errorInfo.getCode(), importResponse.getErrorCode());
341 String[] split = resourceFromImport.getLastUpdaterFullName().split(" ");
342 String firstName = split[0];
343 String lastName = split[1];
344 List<String> variables = Arrays.asList(resourceFromImport.getName(), "resource", firstName, lastName,
345 resourceFromImport.getLastUpdaterUserId());
346 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_IN_CHECKOUT_STATE.name(), variables,
347 importResponse.getResponse());
352 public void importNewResource_perfromByDesigner_ownedBy_diffrentUser() throws Exception {
354 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
356 assertNotNull("check response object is not null after import resource", importResponse);
357 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
358 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
359 Resource resourceFromImport = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
361 DbUtils.cleanAllAudits();
363 importResponse = importNewResource(UserRoleEnum.DESIGNER);
365 assertNotNull("check response object is not null after import resource", importResponse);
366 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
368 ErrorInfo errorInfo = ErrorValidationUtils
369 .parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CHECKOUT_STATE.name());
370 assertEquals("Check response code after adding artifact", errorInfo.getCode(), importResponse.getErrorCode());
372 String[] split = resourceFromImport.getLastUpdaterFullName().split(" ");
373 String firstName = split[0];
374 String lastName = split[1];
375 List<String> variables = Arrays.asList(resourceFromImport.getName(), "resource", firstName, lastName,
376 resourceFromImport.getLastUpdaterUserId());
377 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_IN_CHECKOUT_STATE.name(), variables,
378 importResponse.getResponse());
382 @Test(enabled = false)
383 public void importNewResource_nameSpace_vf() throws Exception {
384 RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testVF",
385 UserRoleEnum.DESIGNER);
386 assertNotNull("check response object is not null after import resource", importResponse);
387 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
388 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
389 Resource resourceRespJavaObject = ResponseParser
390 .convertResourceResponseToJavaObject(importResponse.getResponse());
391 assertTrue(resourceRespJavaObject.getResourceType().equals(ResourceTypeEnum.VF));
396 public void importNewResource_nameSpace_vfc() throws Exception {
397 RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testVFC",
398 UserRoleEnum.DESIGNER);
399 assertNotNull("check response object is not null after import resource", importResponse);
400 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
401 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
402 Resource resourceRespJavaObject = ResponseParser
403 .convertResourceResponseToJavaObject(importResponse.getResponse());
404 assertTrue(resourceRespJavaObject.getResourceType().equals(ResourceTypeEnum.VFC));
408 public void importNewResource_nameSpace_vl() throws Exception {
409 RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testVL",
410 UserRoleEnum.DESIGNER);
411 assertNotNull("check response object is not null after import resource", importResponse);
412 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
413 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
414 Resource resourceRespJavaObject = ResponseParser
415 .convertResourceResponseToJavaObject(importResponse.getResponse());
416 assertTrue(resourceRespJavaObject.getResourceType().equals(ResourceTypeEnum.VL));
421 public void importNewResource_nameSpace_cp() throws Exception {
422 RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testCP",
423 UserRoleEnum.DESIGNER);
424 assertNotNull("check response object is not null after import resource", importResponse);
425 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
426 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
428 Resource resourceRespJavaObject = ResponseParser
429 .convertResourceResponseToJavaObject(importResponse.getResponse());
430 assertTrue(resourceRespJavaObject.getResourceType().equals(ResourceTypeEnum.CP));
434 public void importNewResource_nameSpace_unknown() throws Exception {
435 RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4test",
436 UserRoleEnum.DESIGNER);
437 assertNotNull("check response object is not null after import resource", importResponse);
438 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
439 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
440 Resource resourceRespJavaObject = ResponseParser
441 .convertResourceResponseToJavaObject(importResponse.getResponse());
442 assertTrue(resourceRespJavaObject.getResourceType().equals(ResourceTypeEnum.VFC));
447 public void importNewResource_MissingNameSpace() throws Exception {
448 RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testMissingNameSpace",
449 UserRoleEnum.DESIGNER);
450 assertNotNull("check response object is not null after import resource", importResponse);
451 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
452 assertEquals("Check response code after import resource", 400, importResponse.getErrorCode().intValue());
457 @Test(enabled = false)
458 public void importNewResource_existInCheckOut() throws Exception {
460 // import new resource
462 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
464 assertNotNull("check response object is not null after import resource", importResponse);
465 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
466 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
469 DbUtils.cleanAllAudits();
471 // import new resource while resource already exist in CHECKOUT state
473 importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.ADMIN);
475 assertNotNull("check response object is not null after import resource", importResponse);
476 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
477 assertEquals("Check response code after import resource", 200, importResponse.getErrorCode().intValue());
480 Resource resourceFromImport = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
481 assertNotNull(resourceFromImport);
482 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
483 ResourceRespJavaObject resourceRespJavaObject = Convertor.constructFieldsForRespValidation(resourceDetails);
484 resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
486 // validate get response
487 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
488 resourceRespJavaObject.getUniqueId());
489 Resource resourceFromGet = ResponseParser
490 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
491 assertNotNull(resourceFromGet);
494 ResourceValidationUtils.validateModelObjects(resourceFromImport, resourceFromGet);
497 resourceDetails.setVersion(resourceDetails.getVersion());
498 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
499 .constructFieldsForAuditValidation(resourceDetails);
501 auditAction = "ResourceImport";
502 resourceVersion = "0.1";
503 expectedResourceAuditJavaObject.setAction(auditAction);
504 expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
505 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
506 expectedResourceAuditJavaObject.setPrevVersion(resourceVersion);
507 expectedResourceAuditJavaObject.setStatus("200");
508 expectedResourceAuditJavaObject.setDesc("OK");
509 expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
511 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
515 @Test(enabled = false)
516 public void importNewResource_existIn_CheckIn_state() throws Exception {
518 // import new resource
520 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
522 assertNotNull("check response object is not null after import resource", importResponse);
523 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
524 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
525 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
528 resourceVersion = resourceDetails.getVersion();
529 String checkinComment = "good checkin";
530 String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}";
531 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
532 resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson);
534 assertNotNull("check response object is not null after import resource", checkInResponse);
535 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
538 DbUtils.cleanAllAudits();
540 // import new resource while resource already exist in CHECKIN state
542 importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.ADMIN);
544 assertNotNull("check response object is not null after import resource", importResponse);
545 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
546 assertEquals("Check response code after import resource", 200, importResponse.getErrorCode().intValue());
549 Resource resourceFromImport = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
550 assertNotNull(resourceFromImport);
552 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
553 ResourceRespJavaObject resourceRespJavaObject = Convertor.constructFieldsForRespValidation(resourceDetails);
554 resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
556 // validate get response
557 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
558 resourceRespJavaObject.getUniqueId());
559 Resource resourceFromGet = ResponseParser
560 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
561 assertNotNull(resourceFromGet);
564 ResourceValidationUtils.validateModelObjects(resourceFromImport, resourceFromGet);
567 resourceDetails.setVersion(resourceDetails.getVersion());
568 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
569 .constructFieldsForAuditValidation(resourceDetails);
571 resourceVersion = "0.2";
572 auditAction = "ResourceImport";
573 expectedResourceAuditJavaObject.setAction(auditAction);
574 expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
575 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
576 expectedResourceAuditJavaObject.setPrevVersion(resourceVersion);
577 expectedResourceAuditJavaObject.setStatus("200");
578 expectedResourceAuditJavaObject.setDesc("OK");
579 expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
580 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
584 public void importNewResource_existIn_Ready4cert_state_performByTester() throws Exception {
585 // import new resource
587 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
589 assertNotNull("check response object is not null after import resource", importResponse);
590 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
591 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
593 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
594 resourceVersion = resourceDetails.getVersion();
595 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
596 resourceDetails.getUniqueId());
597 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
598 Resource resourceFromGet = ResponseParser
599 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
600 assertNotNull(resourceFromGet);
601 // add mandatory artifacts
602 // // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails,
603 // resourceGetResponse);
604 resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId());
605 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
606 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
607 assertNotNull(resourceFromGet);
608 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
609 resourceDetails.setVersion(resourceFromGet.getVersion());
612 resourceVersion = resourceDetails.getVersion();
613 String checkinComment = "good checkin";
614 String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}";
615 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
616 resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson);
618 assertNotNull("check response object is not null after import resource", checkInResponse);
619 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
620 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(checkInResponse.getResponse());
621 assertNotNull(resourceFromGet);
622 resourceDetails = ResponseParser.parseToObject(checkInResponse.getResponse(), ResourceReqDetails.class);
623 resourceDetails.setVersion(resourceFromGet.getVersion());
626 RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
627 resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
628 assertNotNull("check response object is not null after resource request for certification", request4cert);
629 assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue());
630 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse());
631 assertNotNull(resourceFromGet);
632 resourceDetails = ResponseParser.parseToObject(request4cert.getResponse(), ResourceReqDetails.class);
633 resourceDetails.setVersion(resourceFromGet.getVersion());
636 DbUtils.cleanAllAudits();
638 // import new resource while resource already exist in CHECKIN state
639 importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.TESTER);
642 resourceVersion = resourceDetails.getVersion();
643 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESTRICTED_OPERATION.name());
644 assertNotNull("check response object is not null after create resouce", importResponse);
645 assertNotNull("check error code exists in response after create resource", importResponse.getErrorCode());
646 assertEquals("Check response code after create service", errorInfo.getCode(), importResponse.getErrorCode());
647 List<String> variables = Arrays.asList();
648 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), variables,
649 importResponse.getResponse());
653 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
654 .constructFieldsForAuditValidation(resourceDetails, resourceVersion);
656 String auditAction = "ResourceImport";
657 expectedResourceAuditJavaObject.setAction(auditAction);
658 expectedResourceAuditJavaObject.setResourceName("");
659 expectedResourceAuditJavaObject.setModifierUid(UserRoleEnum.TESTER.getUserId());
660 expectedResourceAuditJavaObject.setModifierName(UserRoleEnum.TESTER.getUserName());
661 expectedResourceAuditJavaObject.setPrevState("");
662 expectedResourceAuditJavaObject.setCurrState("");
663 expectedResourceAuditJavaObject.setPrevVersion("");
664 expectedResourceAuditJavaObject.setCurrVersion("");
665 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
666 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
667 expectedResourceAuditJavaObject.setDesc(auditDesc);
669 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
673 @Test(enabled = false)
674 public void importNewResource_existIn_Ready4cert_state_performByDesigner() throws Exception {
675 // import new resource
677 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
679 assertNotNull("check response object is not null after import resource", importResponse);
680 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
681 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
683 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
684 resourceVersion = resourceDetails.getVersion();
685 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
686 resourceDetails.getUniqueId());
687 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
688 Resource resourceFromGet = ResponseParser
689 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
690 assertNotNull(resourceFromGet);
691 // add mandatory artifacts
692 // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails,
693 // resourceGetResponse);
694 resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId());
695 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
696 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
697 assertNotNull(resourceFromGet);
698 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
699 resourceDetails.setVersion(resourceFromGet.getVersion());
702 resourceVersion = resourceDetails.getVersion();
703 String checkinComment = "good checkin";
704 String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}";
705 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
706 resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson);
707 assertNotNull("check response object is not null after import resource", checkInResponse);
708 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
711 RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
712 resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
713 assertNotNull("check response object is not null after resource request for certification", request4cert);
714 assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue());
715 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse());
716 assertNotNull(resourceFromGet);
717 resourceDetails = ResponseParser.parseToObject(request4cert.getResponse(), ResourceReqDetails.class);
718 resourceDetails.setVersion(resourceFromGet.getVersion());
721 DbUtils.cleanAllAudits();
723 // import new resource while resource already exist in other state
724 importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.DESIGNER);
727 ErrorInfo errorInfo = ErrorValidationUtils
728 .parseErrorConfigYaml(ActionStatus.COMPONENT_SENT_FOR_CERTIFICATION.name());
729 assertNotNull("check response object is not null after create resouce", importResponse);
730 assertNotNull("check error code exists in response after create resource", importResponse.getErrorCode());
731 assertEquals("Check response code after create service", errorInfo.getCode(), importResponse.getErrorCode());
732 String[] split = resourceFromGet.getLastUpdaterFullName().split(" ");
733 String firstName = split[0];
734 String lastName = split[1];
735 List<String> variables = Arrays.asList(resourceFromGet.getName(), "resource", firstName, lastName,
736 resourceFromGet.getLastUpdaterUserId());
737 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_SENT_FOR_CERTIFICATION.name(), variables,
738 importResponse.getResponse());
741 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
742 .constructFieldsForAuditValidation(resourceDetails, resourceVersion);
743 String auditAction = "ResourceImport";
744 expectedResourceAuditJavaObject.setAction(auditAction);
745 expectedResourceAuditJavaObject.setModifierUid(UserRoleEnum.DESIGNER.getUserId());
746 expectedResourceAuditJavaObject.setModifierName(UserRoleEnum.DESIGNER.getUserName());
747 expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.READY_FOR_CERTIFICATION).toString());
748 // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
749 expectedResourceAuditJavaObject.setCurrState("");
750 expectedResourceAuditJavaObject.setPrevVersion(resourceVersion);
751 expectedResourceAuditJavaObject.setCurrVersion("");
752 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
753 expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
754 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
755 expectedResourceAuditJavaObject.setDesc(auditDesc);
756 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
761 @Test(enabled = false)
762 public void importNewResource_existIn_Ready4cert_state_performByAdmin() throws Exception {
764 // import new resource
765 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
766 assertNotNull("check response object is not null after import resource", importResponse);
767 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
768 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
769 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
770 resourceVersion = resourceDetails.getVersion();
771 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
772 resourceDetails.getUniqueId());
773 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
774 Resource resourceFromGet = ResponseParser
775 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
776 assertNotNull(resourceFromGet);
778 // add mandatory artifacts
779 // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails,
780 // resourceGetResponse);
781 resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId());
782 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
783 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
784 assertNotNull(resourceFromGet);
785 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
786 resourceDetails.setVersion(resourceFromGet.getVersion());
789 resourceVersion = resourceDetails.getVersion();
790 String checkinComment = "good checkin";
791 String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}";
792 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
793 resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson);
794 assertNotNull("check response object is not null after import resource", checkInResponse);
795 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
798 RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
799 resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
800 assertNotNull("check response object is not null after resource request for certification", request4cert);
801 assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue());
802 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse());
803 assertNotNull(resourceFromGet);
804 resourceDetails = ResponseParser.parseToObject(request4cert.getResponse(), ResourceReqDetails.class);
805 resourceDetails.setVersion(resourceFromGet.getVersion());
808 DbUtils.cleanAllAudits();
810 // import new resource while resource already exist in other state
811 importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.ADMIN);
812 assertNotNull("check response object is not null after import resource", importResponse);
813 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
814 assertEquals("Check response code after import resource", 200, importResponse.getErrorCode().intValue());
815 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
816 assertNotNull(resourceFromGet);
817 resourceDetails = ResponseParser.parseToObject(request4cert.getResponse(), ResourceReqDetails.class);
818 resourceDetails.setVersion(resourceFromGet.getVersion());
819 resourceVersion = resourceDetails.getVersion();
820 // resourceVersion="0.2";
823 Resource resourceFromImport = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
824 assertNotNull(resourceFromImport);
825 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
826 ResourceRespJavaObject resourceRespJavaObject = Convertor.constructFieldsForRespValidation(resourceDetails);
827 resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
829 // validate get response
830 resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceRespJavaObject.getUniqueId());
831 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
832 assertNotNull(resourceFromGet);
835 ResourceValidationUtils.validateModelObjects(resourceFromImport, resourceFromGet);
838 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
839 .constructFieldsForAuditValidation(resourceDetails, resourceVersion);
840 auditAction = "ResourceImport";
841 expectedResourceAuditJavaObject.setAction(auditAction);
842 expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
843 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
844 expectedResourceAuditJavaObject.setPrevVersion(resourceVersion);
845 expectedResourceAuditJavaObject.setStatus("200");
846 expectedResourceAuditJavaObject.setDesc("OK");
847 expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
848 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
852 public void importNewResource_existIn_CerInProgress_state_performByTester() throws Exception {
854 // import new resource
855 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
856 assertNotNull("check response object is not null after import resource", importResponse);
857 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
858 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
859 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
860 resourceVersion = resourceDetails.getVersion();
861 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
862 resourceDetails.getUniqueId());
863 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
864 Resource resourceFromGet = ResponseParser
865 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
866 assertNotNull(resourceFromGet);
868 // add mandatory artifacts
869 // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails,
870 // resourceGetResponse);
871 resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId());
872 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
873 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
874 assertNotNull(resourceFromGet);
875 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
876 resourceDetails.setVersion(resourceFromGet.getVersion());
879 resourceVersion = resourceDetails.getVersion();
880 String checkinComment = "good checkin";
881 String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}";
882 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
883 resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson);
884 assertNotNull("check response object is not null after import resource", checkInResponse);
885 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
888 RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
889 resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
890 assertNotNull("check response object is not null after resource request for certification", request4cert);
891 assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue());
892 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse());
893 assertNotNull(resourceFromGet);
894 resourceDetails = ResponseParser.parseToObject(request4cert.getResponse(), ResourceReqDetails.class);
895 resourceDetails.setVersion(resourceFromGet.getVersion());
898 RestResponse startCert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
899 resourceVersion, LifeCycleStatesEnum.STARTCERTIFICATION);
900 assertNotNull("check response object is not null after resource request start certification", startCert);
901 assertEquals("Check response code after checkout resource", 200, startCert.getErrorCode().intValue());
902 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(startCert.getResponse());
903 assertNotNull(resourceFromGet);
904 resourceDetails = ResponseParser.parseToObject(startCert.getResponse(), ResourceReqDetails.class);
905 resourceDetails.setVersion(resourceFromGet.getVersion());
908 DbUtils.cleanAllAudits();
910 // import new resource while resource already exist in other state
911 importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.TESTER);
914 resourceVersion = resourceDetails.getVersion();
915 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESTRICTED_OPERATION.name());
916 assertNotNull("check response object is not null after create resouce", importResponse);
917 assertNotNull("check error code exists in response after create resource", importResponse.getErrorCode());
918 assertEquals("Check response code after create service", errorInfo.getCode(), importResponse.getErrorCode());
919 List<String> variables = Arrays.asList();
920 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), variables,
921 importResponse.getResponse());
924 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
925 .constructFieldsForAuditValidation(resourceDetails, resourceVersion);
926 String auditAction = "ResourceImport";
927 expectedResourceAuditJavaObject.setAction(auditAction);
928 expectedResourceAuditJavaObject.setResourceName("");
929 expectedResourceAuditJavaObject.setModifierUid(UserRoleEnum.TESTER.getUserId());
930 expectedResourceAuditJavaObject.setModifierName(UserRoleEnum.TESTER.getUserName());
931 expectedResourceAuditJavaObject.setPrevState("");
932 expectedResourceAuditJavaObject.setCurrState("");
933 expectedResourceAuditJavaObject.setPrevVersion("");
934 expectedResourceAuditJavaObject.setCurrVersion("");
935 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
936 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
937 expectedResourceAuditJavaObject.setDesc(auditDesc);
938 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
942 @Test(enabled = false)
943 public void importNewResource_existIn_CerInProgress_state_performByDesigner() throws Exception {
945 User sdncAdminUser = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
946 // import new resource
947 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
948 assertNotNull("check response object is not null after import resource", importResponse);
949 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
950 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
951 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
952 resourceVersion = resourceDetails.getVersion();
953 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
954 resourceDetails.getUniqueId());
955 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
956 Resource resourceFromGet = ResponseParser
957 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
958 assertNotNull(resourceFromGet);
960 // add mandatory artifacts
961 // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails,
962 // resourceGetResponse);
963 resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId());
964 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
965 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
966 assertNotNull(resourceFromGet);
967 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
968 resourceDetails.setVersion(resourceFromGet.getVersion());
971 resourceVersion = resourceDetails.getVersion();
972 String checkinComment = "good checkin";
973 String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}";
974 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
975 resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson);
976 assertNotNull("check response object is not null after import resource", checkInResponse);
977 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
980 RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
981 resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
982 assertNotNull("check response object is not null after resource request for certification", request4cert);
983 assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue());
984 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse());
985 assertNotNull(resourceFromGet);
986 resourceDetails = ResponseParser.parseToObject(request4cert.getResponse(), ResourceReqDetails.class);
987 resourceDetails.setVersion(resourceFromGet.getVersion());
990 RestResponse startCert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
991 resourceVersion, LifeCycleStatesEnum.STARTCERTIFICATION);
992 assertNotNull("check response object is not null after resource request start certification", startCert);
993 assertEquals("Check response code after checkout resource", 200, startCert.getErrorCode().intValue());
994 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(startCert.getResponse());
995 assertNotNull(resourceFromGet);
996 resourceDetails = ResponseParser.parseToObject(startCert.getResponse(), ResourceReqDetails.class);
997 resourceDetails.setVersion(resourceFromGet.getVersion());
998 resourceVersion = resourceDetails.getVersion();
1001 DbUtils.cleanAllAudits();
1003 // import new resource while resource already exist in other state
1004 importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.DESIGNER);
1005 ErrorInfo errorInfo = ErrorValidationUtils
1006 .parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name());
1007 assertNotNull("check response object is not null after create resouce", importResponse);
1008 assertNotNull("check error code exists in response after create resource", importResponse.getErrorCode());
1009 assertEquals("Check response code after create service", errorInfo.getCode(), importResponse.getErrorCode());
1010 List<String> variables = Arrays.asList(resourceDetails.getName(), "resource", sdncAdminUser.getFirstName(),
1011 sdncAdminUser.getLastName(), sdncAdminUser.getUserId());
1012 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name(),
1013 variables, importResponse.getResponse());
1016 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
1017 .constructFieldsForAuditValidation(resourceDetails, resourceVersion);
1018 String auditAction = "ResourceImport";
1019 expectedResourceAuditJavaObject.setAction(auditAction);
1020 expectedResourceAuditJavaObject.setModifierUid(UserRoleEnum.DESIGNER.getUserId());
1021 expectedResourceAuditJavaObject.setModifierName(UserRoleEnum.DESIGNER.getUserName());
1022 expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.CERTIFICATION_IN_PROGRESS).toString());
1023 // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
1024 expectedResourceAuditJavaObject.setCurrState("");
1025 expectedResourceAuditJavaObject.setPrevVersion(resourceVersion);
1026 expectedResourceAuditJavaObject.setCurrVersion("");
1027 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
1028 expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
1029 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
1030 expectedResourceAuditJavaObject.setDesc(auditDesc);
1031 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
1036 @Test(enabled = false)
1037 public void importNewResource_existIn_CerInProgress_state_performByAdmin() throws Exception {
1039 User sdncAdminUser = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
1041 // import new resource
1042 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
1043 assertNotNull("check response object is not null after import resource", importResponse);
1044 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
1045 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
1046 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
1047 resourceVersion = resourceDetails.getVersion();
1048 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
1049 resourceDetails.getUniqueId());
1050 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
1051 Resource resourceFromGet = ResponseParser
1052 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
1053 assertNotNull(resourceFromGet);
1055 // add mandatory artifacts
1056 // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails,
1057 // resourceGetResponse);
1058 resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId());
1059 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
1060 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
1061 assertNotNull(resourceFromGet);
1062 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
1063 resourceDetails.setVersion(resourceFromGet.getVersion());
1066 resourceVersion = resourceDetails.getVersion();
1067 String checkinComment = "good checkin";
1068 String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}";
1069 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
1070 resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson);
1071 assertNotNull("check response object is not null after import resource", checkInResponse);
1072 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
1074 // req4cert resource
1075 RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
1076 resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1077 assertNotNull("check response object is not null after resource request for certification", request4cert);
1078 assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue());
1079 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse());
1080 assertNotNull(resourceFromGet);
1081 resourceDetails = ResponseParser.parseToObject(request4cert.getResponse(), ResourceReqDetails.class);
1082 resourceDetails.setVersion(resourceFromGet.getVersion());
1085 RestResponse startCert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
1086 resourceVersion, LifeCycleStatesEnum.STARTCERTIFICATION);
1087 assertNotNull("check response object is not null after resource request start certification", startCert);
1088 assertEquals("Check response code after checkout resource", 200, startCert.getErrorCode().intValue());
1089 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(startCert.getResponse());
1090 assertNotNull(resourceFromGet);
1091 resourceDetails = ResponseParser.parseToObject(startCert.getResponse(), ResourceReqDetails.class);
1092 resourceDetails.setVersion(resourceFromGet.getVersion());
1093 resourceVersion = resourceDetails.getVersion();
1096 DbUtils.cleanAllAudits();
1098 // import new resource while resource already exist in other state
1099 importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.ADMIN);
1101 // validate response
1102 ErrorInfo errorInfo = ErrorValidationUtils
1103 .parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name());
1104 assertNotNull("check response object is not null after create resouce", importResponse);
1105 assertNotNull("check error code exists in response after create resource", importResponse.getErrorCode());
1106 assertEquals("Check response code after create service", errorInfo.getCode(), importResponse.getErrorCode());
1107 List<String> variables = Arrays.asList(resourceDetails.getName(), "resource", sdncAdminUser.getFirstName(),
1108 sdncAdminUser.getLastName(), sdncAdminUser.getUserId());
1109 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name(),
1110 variables, importResponse.getResponse());
1113 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
1114 .constructFieldsForAuditValidation(resourceDetails, resourceVersion);
1115 String auditAction = "ResourceImport";
1116 expectedResourceAuditJavaObject.setAction(auditAction);
1117 expectedResourceAuditJavaObject.setModifierUid(UserRoleEnum.ADMIN.getUserId());
1118 expectedResourceAuditJavaObject.setModifierName(UserRoleEnum.ADMIN.getUserName());
1119 expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.CERTIFICATION_IN_PROGRESS).toString());
1120 // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
1121 expectedResourceAuditJavaObject.setCurrState("");
1122 expectedResourceAuditJavaObject.setPrevVersion(resourceVersion);
1123 expectedResourceAuditJavaObject.setCurrVersion("");
1124 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
1125 expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
1126 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
1127 expectedResourceAuditJavaObject.setDesc(auditDesc);
1128 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
1133 // @Test(enabled = false)
1135 // importNewResource_existIn_Certified_state_chnage_reqAndCap_byDesigner()
1136 // throws Exception{
1138 // // Andrey - set default artifact details
1139 // ArtifactDefinition artifactDefinition =
1140 // artifactUtils.constructDefaultArtifactInfo();
1142 // // import new resource
1143 // RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
1144 // assertNotNull("check response object is not null after import resource",
1146 // assertNotNull("check error code exists in response after import
1147 // resource", importResponse.getErrorCode());
1148 // assertEquals("Check response code after import resource", 201,
1149 // importResponse.getErrorCode().intValue());
1150 // String resourceId =
1151 // ResponseParser.getUniqueIdFromResponse(importResponse);
1152 // resourceDetails =
1153 // ResponseParser.parseToObject(importResponse.getResponse(),
1154 // ResourceReqDetails.class);
1155 // resourceVersion = resourceDetails.getVersion();
1156 // RestResponse resourceGetResponse =
1157 // ResourceRestUtils.getResource(sdncModifierDetails,
1158 // resourceDetails.getUniqueId());
1159 // assertEquals("Check response code after get resource", 200,
1160 // resourceGetResponse.getErrorCode().intValue());
1161 // Resource resourceFromGet =
1162 // ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
1163 // assertNotNull(resourceFromGet);
1165 // // add mandatory artifacts
1166 // // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails,
1167 // resourceGetResponse);
1168 // resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
1169 // resourceDetails.getUniqueId());
1170 // assertEquals("Check response code after get resource", 200,
1171 // resourceGetResponse.getErrorCode().intValue());
1172 // resourceFromGet =
1173 // ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
1174 // assertNotNull(resourceFromGet);
1175 // resourceDetails =
1176 // ResponseParser.parseToObject(importResponse.getResponse(),
1177 // ResourceReqDetails.class);
1178 // resourceDetails.setVersion(resourceFromGet.getVersion());
1181 // artifactDefinition.setArtifactName(artifactName1);
1182 // ArtifactRestUtils.addInformationalArtifactToResource(resourceDetails,
1183 // sdncModifierDetails, resourceVersion , artifactDefinition);
1186 // artifactDefinition.setArtifactName(artifactName2);
1187 // resourceUtils.add_artifact(resourceDetails, sdncModifierDetails,
1188 // resourceVersion , artifactDefinition);
1191 // artifactDefinition.setArtifactName(interfaceArtifactName);
1192 // ResourceRestUtils.add_interface(resourceDetails, sdncModifierDetails,
1193 // resourceVersion , artifactDefinition);
1195 // //construct fields for validation
1196 // resourceVersion="1.0";
1198 // ResourceRespJavaObject resourceRespJavaObject =
1199 // Convertor.constructFieldsForRespValidation(resourceDetails,
1200 // resourceVersion);
1201 // ArrayList<String> artifacts = new ArrayList<String>();
1203 // artifacts.add(resourceId+":"+artifactName1);
1204 // artifacts.add(resourceId+":"+artifactName2);
1205 // resourceRespJavaObject.setArtifacts(artifacts);
1206 // ArrayList<String> interfaces = new ArrayList<String>();
1208 // interfaces.add(interfaze);
1209 // resourceRespJavaObject.setInterfaces(interfaces);
1211 // // checkIn resource
1212 // resourceVersion = resourceDetails.getVersion();
1213 // String checkinComment = "good checkin";
1214 // String checkinComentJson = "{\"userRemarks\": \""+checkinComment+"\"}";
1215 // RestResponse checkInResponse =
1216 // LifecycleRestUtils.changeResourceState(resourceDetails,
1217 // sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CHECKIN,
1218 // checkinComentJson);
1219 // assertNotNull("check response object is not null after import resource",
1220 // checkInResponse);
1221 // assertEquals("Check response code after checkout resource", 200,
1222 // checkInResponse.getErrorCode().intValue());
1224 // // req4cert resource
1225 // RestResponse request4cert =
1226 // LifecycleRestUtils.changeResourceState(resourceDetails,
1227 // sdncModifierDetails, resourceVersion,
1228 // LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1229 // assertNotNull("check response object is not null after resource request
1230 // for certification", request4cert);
1231 // assertEquals("Check response code after checkout resource", 200,
1232 // request4cert.getErrorCode().intValue());
1233 // resourceFromGet =
1234 // ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse());
1235 // assertNotNull(resourceFromGet);
1236 // resourceDetails =
1237 // ResponseParser.parseToObject(request4cert.getResponse(),
1238 // ResourceReqDetails.class);
1239 // resourceDetails.setVersion(resourceFromGet.getVersion());
1242 // RestResponse startCert =
1243 // LifecycleRestUtils.changeResourceState(resourceDetails,
1244 // sdncModifierDetails, resourceVersion,
1245 // LifeCycleStatesEnum.STARTCERTIFICATION);
1246 // assertNotNull("check response object is not null after resource request
1247 // start certification", startCert);
1248 // assertEquals("Check response code after checkout resource", 200,
1249 // startCert.getErrorCode().intValue());
1250 // resourceFromGet =
1251 // ResponseParser.convertResourceResponseToJavaObject(startCert.getResponse());
1252 // assertNotNull(resourceFromGet);
1253 // resourceDetails = ResponseParser.parseToObject(startCert.getResponse(),
1254 // ResourceReqDetails.class);
1255 // resourceDetails.setVersion(resourceFromGet.getVersion());
1258 // RestResponse certify =
1259 // LifecycleRestUtils.changeResourceState(resourceDetails,
1260 // sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CERTIFY);
1261 // assertNotNull("check response object is not null after resource request
1262 // certify", certify);
1263 // assertEquals("Check response code after certify resource", 200,
1264 // certify.getErrorCode().intValue());
1265 // resourceFromGet =
1266 // ResponseParser.convertResourceResponseToJavaObject(certify.getResponse());
1267 // assertNotNull(resourceFromGet);
1268 // resourceDetails = ResponseParser.parseToObject(certify.getResponse(),
1269 // ResourceReqDetails.class);
1270 // resourceDetails.setVersion(resourceFromGet.getVersion());
1273 // DbUtils.cleanAllAudits();
1275 // // change resource details
1277 // // import new resource while resource already exist in other state
1279 // ImportRestUtils.importNewResourceByName("importResource4testUpdateWithoutReqCap",
1280 // UserRoleEnum.ADMIN);
1281 // assertNotNull("check response object is not null after import resource",
1283 // assertNotNull("check error code exists in response after import
1284 // resource", importResponse.getErrorCode());
1285 // assertEquals("Check response code after import resource", 200,
1286 // importResponse.getErrorCode().intValue());
1287 // resourceDetails =
1288 // ResponseParser.parseToObject(importResponse.getResponse(),
1289 // ResourceReqDetails.class);
1290 // resourceVersion = resourceDetails.getVersion();
1291 // resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
1292 // resourceDetails.getUniqueId());
1293 // assertEquals("Check response code after get resource", 200,
1294 // resourceGetResponse.getErrorCode().intValue());
1295 // resourceFromGet =
1296 // ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
1297 // assertNotNull(resourceFromGet);
1299 // // validate response
1300 // Resource resourceFromImport =
1301 // ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
1302 // assertNotNull(resourceFromImport);
1304 // resourceDetails =
1305 // ResponseParser.parseToObject(importResponse.getResponse(),
1306 // ResourceReqDetails.class);
1307 // resourceRespJavaObject =
1308 // Convertor.constructFieldsForRespValidation(resourceDetails);
1309 // resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
1311 // // validate get response
1312 // resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
1313 // resourceRespJavaObject.getUniqueId());
1314 // resourceFromGet =
1315 // ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
1316 // assertNotNull(resourceFromGet);
1319 // ResourceValidationUtils.validateModelObjects(resourceFromImport,
1320 // resourceFromGet);
1322 // // validate audit
1323 // ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject =
1324 // Convertor.constructFieldsForAuditValidation(resourceDetails,
1325 // resourceVersion);
1326 // auditAction="ResourceImport";
1327 // expectedResourceAuditJavaObject.setAction(auditAction);
1328 // expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
1329 // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
1330 // expectedResourceAuditJavaObject.setPrevVersion(resourceVersion);
1331 // expectedResourceAuditJavaObject.setStatus("200");
1332 // expectedResourceAuditJavaObject.setDesc("OK");
1333 // expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
1334 // AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject,
1335 // auditAction, null, false);
1339 public void importNewResource_uuidTest() throws Exception {
1340 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
1342 assertNotNull("check response object is not null after import resource", importResponse);
1343 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
1344 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
1345 String oldUuid = ResponseParser.getValueFromJsonResponse(importResponse.getResponse(), "uuid");
1347 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
1348 resourceVersion = resourceDetails.getVersion();
1349 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
1350 resourceDetails.getUniqueId());
1351 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
1352 Resource resourceFromGet = ResponseParser
1353 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
1354 assertNotNull(resourceFromGet);
1355 // add mandatory artifacts
1356 // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails,
1357 // resourceGetResponse);
1358 resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId());
1359 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
1360 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
1361 assertNotNull(resourceFromGet);
1362 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
1363 resourceDetails.setVersion(resourceFromGet.getVersion());
1365 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
1366 "0.1", LifeCycleStatesEnum.CHECKIN);
1367 assertNotNull("check response object is not null after import resource", checkInResponse);
1368 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
1370 String newUuid = ResponseParser.getValueFromJsonResponse(checkInResponse.getResponse(), "uuid");
1371 assertTrue(ResourceValidationUtils.validateUuidAfterChangingStatus(oldUuid, newUuid));
1373 // req4cert resource
1374 RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
1375 resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1376 assertNotNull("check response object is not null after resource request for certification", request4cert);
1377 assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue());
1378 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse());
1379 assertNotNull(resourceFromGet);
1380 resourceDetails = ResponseParser.parseToObject(request4cert.getResponse(), ResourceReqDetails.class);
1381 resourceDetails.setVersion(resourceFromGet.getVersion());
1383 String newUuid2 = ResponseParser.getValueFromJsonResponse(request4cert.getResponse(), "uuid");
1384 assertTrue(ResourceValidationUtils.validateUuidAfterChangingStatus(oldUuid, newUuid2));
1387 RestResponse startCert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
1388 resourceVersion, LifeCycleStatesEnum.STARTCERTIFICATION);
1389 assertNotNull("check response object is not null after resource request start certification", startCert);
1390 assertEquals("Check response code after checkout resource", 200, startCert.getErrorCode().intValue());
1391 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(startCert.getResponse());
1392 assertNotNull(resourceFromGet);
1393 resourceDetails = ResponseParser.parseToObject(startCert.getResponse(), ResourceReqDetails.class);
1394 resourceDetails.setVersion(resourceFromGet.getVersion());
1396 String newUuid3 = ResponseParser.getValueFromJsonResponse(startCert.getResponse(), "uuid");
1397 assertTrue(ResourceValidationUtils.validateUuidAfterChangingStatus(oldUuid, newUuid3));
1399 RestResponse certify = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, "0.1",
1400 LifeCycleStatesEnum.CERTIFY);
1401 assertNotNull("check response object is not null after import resource", certify);
1402 assertEquals("Check response code after checkout resource", 200, certify.getErrorCode().intValue());
1404 String newUuid4 = ResponseParser.getValueFromJsonResponse(certify.getResponse(), "uuid");
1405 assertTrue(ResourceValidationUtils.validateUuidAfterChangingStatus(oldUuid, newUuid4));
1407 RestResponse checkoutResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
1408 "1.0", LifeCycleStatesEnum.CHECKOUT);
1409 assertNotNull("check response object is not null after import resource", checkInResponse);
1410 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
1412 String newUuid5 = ResponseParser.getValueFromJsonResponse(checkoutResponse.getResponse(), "uuid");
1413 assertFalse(ResourceValidationUtils.validateUuidAfterChangingStatus(oldUuid, newUuid5));
1417 public void importNewResource_propertiesMapInternalUrlCredential() throws Exception {
1418 String folderName = "validateProporties_typeMap_valueUrlCredential";
1419 RestResponse importResponse = ImportRestUtils.importNewResourceByName(folderName, UserRoleEnum.DESIGNER);
1421 Resource resource = ResponseParser.parseToObjectUsingMapper(importResponse.getResponse(), Resource.class);
1423 List<PropertyDefinition> properties = resource.getProperties();
1424 assertEquals("check properties size", 3, properties.size());
1426 PropertyDefinition propertyDefinition = properties.stream().filter(p -> p.getName().equals("validation_test"))
1428 String defaultValue = propertyDefinition.getDefaultValue();
1430 Map mapValue = gson.fromJson(defaultValue, Map.class);
1431 assertEquals("check Map value size", 2, mapValue.size());
1432 checkMapValues(mapValue, "key", 1, null);
1433 checkMapValues(mapValue, "key", 2, null);
1435 System.err.println("import Resource " + "<" + folderName + ">" + "response: " + importResponse.getErrorCode());
1440 public void importNewResource_propertiesListInternalUrlCredential() throws Exception {
1441 String folderName = "validateProporties_typeList_valueUrlCredential";
1442 RestResponse importResponse = ImportRestUtils.importNewResourceByName(folderName, UserRoleEnum.DESIGNER);
1444 Resource resource = ResponseParser.parseToObjectUsingMapper(importResponse.getResponse(), Resource.class);
1446 List<PropertyDefinition> properties = resource.getProperties();
1447 assertEquals("check properties size", 3, properties.size());
1449 PropertyDefinition propertyDefinition = properties.stream().filter(p -> p.getName().equals("validation_test"))
1451 String defaultValue = propertyDefinition.getDefaultValue();
1453 List listValue = gson.fromJson(defaultValue, List.class);
1454 assertEquals("check List value size", 2, listValue.size());
1455 checkListValues(listValue.get(0), 1, SPECIAL_CHARACTERS);
1456 checkListValues(listValue.get(1), 2, SPECIAL_CHARACTERS);
1458 // Verify attributes
1459 List<PropertyDefinition> attributes = resource.getAttributes();
1461 assertEquals("check properties size", 2, attributes.size());
1463 // Verify attribute from type map
1464 PropertyDefinition attributeMapDefinition = attributes.stream()
1465 .filter(p -> p.getName().equals("validation_test_map")).findFirst().get();
1466 String defaultMapValue = attributeMapDefinition.getDefaultValue();
1467 Map attributeMapValue = gson.fromJson(defaultMapValue, Map.class);
1468 assertEquals("check Map value size", 2, attributeMapValue.size());
1469 checkMapValues(attributeMapValue, "key", 1, SPECIAL_CHARACTERS);
1470 checkMapValues(attributeMapValue, "key", 2, SPECIAL_CHARACTERS);
1472 // Verify attribute from type list
1473 PropertyDefinition attributeListDefinition = attributes.stream()
1474 .filter(p -> p.getName().equals("validation_test_list")).findFirst().get();
1475 String defaultListValue = attributeListDefinition.getDefaultValue();
1477 List attributeListValue = gson.fromJson(defaultListValue, List.class);
1478 assertEquals("check List value size", 2, attributeListValue.size());
1479 checkListValues(attributeListValue.get(0), 1, SPECIAL_CHARACTERS);
1480 checkListValues(attributeListValue.get(1), 2, SPECIAL_CHARACTERS);
1482 System.err.println("import Resource " + "<" + folderName + ">" + "response: " + importResponse.getErrorCode());
1486 private void checkListValues(Object object, int index, String suffix) {
1488 Map map = (Map) object;
1489 assertEquals("check Map protocol value", "protocol" + index + (suffix == null ? "" : suffix),
1490 map.get("protocol"));
1491 assertEquals("check Map token value", "token" + index, map.get("token"));
1495 public void importNewResource_validateProporties_typeTestDataType() throws Exception {
1496 String folderName = "validateProporties_typeTestDataType";
1497 RestResponse importResponse = ImportRestUtils.importNewResourceByName(folderName, UserRoleEnum.DESIGNER);
1499 Resource resource = ResponseParser.parseToObjectUsingMapper(importResponse.getResponse(), Resource.class);
1503 private void checkMapValues(Map mapValue, String key, int index, String suffix) {
1505 Map map1 = (Map) mapValue.get(key + index);
1506 assertEquals("check Map protocol value", "protocol" + index + (suffix == null ? "" : suffix),
1507 map1.get("protocol"));
1508 assertEquals("check Map token value", "token" + index, map1.get("token"));