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 static org.testng.AssertJUnit.assertEquals;
24 import static org.testng.AssertJUnit.assertFalse;
25 import static org.testng.AssertJUnit.assertNotNull;
26 import static org.testng.AssertJUnit.assertTrue;
28 import java.io.IOException;
29 import java.util.ArrayList;
30 import java.util.Arrays;
31 import java.util.HashMap;
32 import java.util.List;
35 import org.apache.commons.codec.binary.Base64;
36 import org.apache.http.HttpStatus;
37 import org.junit.Rule;
38 import org.junit.rules.TestName;
39 import org.openecomp.sdc.be.dao.api.ActionStatus;
40 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
41 import org.openecomp.sdc.be.model.LifecycleStateEnum;
42 import org.openecomp.sdc.be.model.PropertyDefinition;
43 import org.openecomp.sdc.be.model.Resource;
44 import org.openecomp.sdc.be.model.User;
45 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
46 import org.openecomp.sdc.ci.tests.api.Urls;
47 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
48 import org.openecomp.sdc.ci.tests.datatypes.ResourceRespJavaObject;
49 import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo;
50 import org.openecomp.sdc.ci.tests.datatypes.enums.ImportTestTypesEnum;
51 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
52 import org.openecomp.sdc.ci.tests.datatypes.enums.NormativeTypesEnum;
53 import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum;
54 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
55 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject;
56 import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
57 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
58 import org.openecomp.sdc.ci.tests.utils.DbUtils;
59 import org.openecomp.sdc.ci.tests.utils.general.Convertor;
60 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
61 import org.openecomp.sdc.ci.tests.utils.rest.ImportRestUtils;
62 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
63 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
64 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
65 import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils;
66 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
67 import org.openecomp.sdc.ci.tests.utils.validation.ResourceValidationUtils;
68 import org.openecomp.sdc.common.api.Constants;
69 import org.openecomp.sdc.common.util.GeneralUtility;
70 import org.testng.annotations.BeforeMethod;
71 import org.testng.annotations.Test;
73 import com.google.gson.Gson;
75 public class ImportNewResourceCITest extends ComponentBaseTest {
77 // public static UserUtils userUtils = new UserUtils();
78 // public ResourceUtils resourceUtils = new ResourceUtils();
79 // public AuditValidationUtils AuditValidationUtils = new
80 // AuditValidationUtils();
81 // protected ArtifactUtils artifactUtils = new ArtifactUtils();
83 protected String resourceVersion = null;
84 protected String auditAction = null;
85 public User sdncModifierDetails = new User();
86 protected String artifactName1 = "data_artifact1.sh";
87 protected String artifactName2 = "data_artifact2.sh";
88 protected String interfaze = "standard";
89 protected String interfaceArtifactName = "data_interface1.sh";
91 private String SPECIAL_CHARACTERS = "~!#@~$%^*()[];:'\"|\\/";
93 public ResourceReqDetails resourceDetails = new ResourceReqDetails();
95 public Gson gson = new Gson();
98 public static TestName name = new TestName();
100 public ImportNewResourceCITest() {
101 super(name, ImportNewResourceCITest.class.getName());
105 public void before() throws Exception {
108 sdncModifierDetails.setUserId(UserRoleEnum.ADMIN.getUserId());
109 // init resource details
110 resourceDetails = ElementFactory.getDefaultResource("importResource4test", NormativeTypesEnum.ROOT,
111 ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, "jh0003");
115 public void importAllTestResources_toValidateNewAPI() throws Exception {
117 for (ImportTestTypesEnum currResource : ImportTestTypesEnum.values()) {
119 DbUtils.cleanAllAudits();
121 // import testResources trough newResource API
122 RestResponse importResponse = ImportRestUtils.importNewResourceByName(currResource.getFolderName(),
124 System.err.println("import Resource " + "<" + currResource.getFolderName() + ">" + "response: "
125 + importResponse.getErrorCode());
128 ImportRestUtils.validateImportTestTypesResp(currResource, importResponse);
129 if (currResource.getvalidateAudit() == true) {
131 // String baseVersion="0.1";
132 String baseVersion = "";
133 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(currResource.getActionStatus().name());
134 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
135 String auditAction = "ResourceImport";
136 expectedResourceAuditJavaObject.setAction(auditAction);
137 expectedResourceAuditJavaObject.setModifierUid(UserRoleEnum.ADMIN.getUserId());
138 expectedResourceAuditJavaObject.setModifierName(UserRoleEnum.ADMIN.getUserName());
139 expectedResourceAuditJavaObject.setResourceName(currResource.getNormativeName());
140 expectedResourceAuditJavaObject.setResourceType("Resource");
141 expectedResourceAuditJavaObject.setPrevVersion("");
142 expectedResourceAuditJavaObject.setCurrVersion(baseVersion);
143 expectedResourceAuditJavaObject.setPrevState("");
144 // expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
145 expectedResourceAuditJavaObject.setCurrState("");
146 expectedResourceAuditJavaObject.setComment(null);
147 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
148 List<String> variables = (currResource.getErrorParams() != null ? currResource.getErrorParams()
149 : new ArrayList<String>());
150 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
151 expectedResourceAuditJavaObject.setDesc(auditDesc);
152 AuditValidationUtils.validateAuditImport(expectedResourceAuditJavaObject, auditAction);
157 protected RestResponse importNewResource(UserRoleEnum userRoleEnum) throws Exception {
160 sdncModifierDetails.setUserId(userRoleEnum.getUserId());
161 // init resource details
162 resourceDetails = ElementFactory.getDefaultResource("importResource4test", NormativeTypesEnum.ROOT,
163 ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, "jh0003");
165 DbUtils.cleanAllAudits();
166 // import new resource (expected checkOut state)
167 RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4test", userRoleEnum);
168 return importResponse;
171 @Test(enabled = false)
172 public void importUIResource() throws IOException {
173 String payload = "tosca_definitions_version: tosca_simple_yaml_1_0_0\r\n" + "node_types: \r\n"
174 + " org.openecomp.resource.importResource4test:\r\n" + " derived_from: tosca.nodes.Root\r\n"
175 + " description: someDesc";
177 String encodedPayload = new String(Base64.encodeBase64(payload.getBytes()));
179 String json = "{\r\n" + " \"resourceName\": \"importResource4test\",\r\n"
180 + " \"payloadName\": \"importResource4test.yml\",\r\n"
181 + " \"categories\": [{\"name\": \"Application L4+\",\"normalizedName\": \"application l4+\",\"uniqueId\": \"resourceNewCategory.application l4+\",\"subcategories\": [{\"name\": \"Web Server\"}]}],\r\n"
182 + " \"description\": \"ResourceDescription\",\r\n" + " \"vendorName\": \"VendorName\",\r\n"
183 + " \"vendorRelease\": \"VendorRelease\",\r\n" + " \"contactId\": \"AT1234\",\r\n"
184 + " \"icon\": \"router\",\r\n" + " \"tags\": [\r\n" + " \"importResource4test\"\r\n" + " ],\r\n"
185 + " \"payloadData\": \"" + encodedPayload + "\"\r\n" + "}";
187 String md5 = GeneralUtility.calculateMD5ByString(json);
189 Map<String, String> headers = new HashMap<String, String>();
190 headers.put(Constants.MD5_HEADER, md5);
191 headers.put(Constants.USER_ID_HEADER, UserRoleEnum.ADMIN.getUserId());
192 headers.put(Constants.CONTENT_TYPE_HEADER, "application/json");
194 String url = String.format(Urls.CREATE_RESOURCE, config.getCatalogBeHost(), config.getCatalogBePort());
196 HttpRequest httpUtil = new HttpRequest();
197 RestResponse httpSendPost = httpUtil.httpSendPost(url, json, headers);
198 Integer errorCode = httpSendPost.getErrorCode();
199 assertTrue(errorCode == HttpStatus.SC_CREATED);
204 @Test(enabled = false)
205 public void importNewResource_suc() throws Exception {
207 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
209 assertNotNull("check response object is not null after import resource", importResponse);
210 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
211 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
215 resourceVersion = "0.1";
217 // ResourceRespJavaObject resourceRespJavaObject =
218 // Convertor.constructFieldsForRespValidation(resourceDetails,
220 // resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
221 // ResourceValidationUtils.validateResp(importResponse,
222 // resourceRespJavaObject);
224 // //validate get response
226 // RestResponse resourceGetResponse =
227 // ResourceRestUtils.getResource(sdncModifierDetails, resourceVersion);
228 // ResourceValidationUtils.validateResp(resourceGetResponse,
229 // resourceRespJavaObject);
230 Resource resourceFromImport = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
231 assertNotNull(resourceFromImport);
233 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
234 ResourceRespJavaObject resourceRespJavaObject = Convertor.constructFieldsForRespValidation(resourceDetails);
235 resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
237 // validate get response
238 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
239 resourceRespJavaObject.getUniqueId());
240 Resource resourceFromGet = ResponseParser
241 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
242 assertNotNull(resourceFromGet);
245 ResourceValidationUtils.validateModelObjects(resourceFromImport, resourceFromGet);
248 resourceDetails.setVersion(resourceDetails.getVersion());
249 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
250 .constructFieldsForAuditValidation(resourceDetails, resourceVersion);
252 auditAction = "ResourceImport";
253 expectedResourceAuditJavaObject.setAction(auditAction);
254 expectedResourceAuditJavaObject.setPrevState("");
255 expectedResourceAuditJavaObject.setPrevVersion("");
256 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
257 expectedResourceAuditJavaObject.setStatus("201");
258 expectedResourceAuditJavaObject.setDesc("OK");
259 expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
260 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
265 public void importNewResource_byTester_failed() throws Exception {
267 RestResponse importResponse = importNewResource(UserRoleEnum.TESTER);
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", 409, importResponse.getErrorCode().intValue());
276 @Test(enabled = false)
277 public void importNewResource_existInCheckout_updateVendorName_updateCategory() throws Exception {
279 // import new resource
280 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
282 assertNotNull("check response object is not null after import resource", importResponse);
283 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
284 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
287 DbUtils.cleanAllAudits();
289 // import new resource while resource already exist in other state
290 importResponse = ImportRestUtils.importNewResourceByName("importResource4testUpdateVendorNameAndCategory",
293 assertNotNull("check response object is not null after import resource", importResponse);
294 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
295 assertEquals("Check response code after import resource", 200, importResponse.getErrorCode().intValue());
298 Resource resourceFromImport = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
299 assertNotNull(resourceFromImport);
301 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
302 ResourceRespJavaObject resourceRespJavaObject = Convertor.constructFieldsForRespValidation(resourceDetails);
303 resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
305 // validate get response
306 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
307 resourceRespJavaObject.getUniqueId());
308 Resource resourceFromGet = ResponseParser
309 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
310 assertNotNull(resourceFromGet);
313 ResourceValidationUtils.validateModelObjects(resourceFromImport, resourceFromGet);
316 resourceDetails.setVersion(resourceDetails.getVersion());
317 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
318 .constructFieldsForAuditValidation(resourceDetails);
320 auditAction = "ResourceImport";
321 resourceVersion = "0.1";
322 expectedResourceAuditJavaObject.setAction(auditAction);
323 expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
324 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
325 expectedResourceAuditJavaObject.setPrevVersion(resourceVersion);
326 expectedResourceAuditJavaObject.setStatus("200");
327 expectedResourceAuditJavaObject.setDesc("OK");
328 expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
329 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
333 public void importNewResource_perfromByAdmin_ownedBy_diffrentUser() throws Exception {
335 RestResponse importResponse = importNewResource(UserRoleEnum.DESIGNER);
337 assertNotNull("check response object is not null after import resource", importResponse);
338 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
339 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
341 Resource resourceFromImport = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
343 DbUtils.cleanAllAudits();
345 importResponse = importNewResource(UserRoleEnum.ADMIN);
347 assertNotNull("check response object is not null after import resource", importResponse);
348 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
350 ErrorInfo errorInfo = ErrorValidationUtils
351 .parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CHECKOUT_STATE.name());
352 assertEquals("Check response code after adding artifact", errorInfo.getCode(), importResponse.getErrorCode());
354 String[] split = resourceFromImport.getLastUpdaterFullName().split(" ");
355 String firstName = split[0];
356 String lastName = split[1];
357 List<String> variables = Arrays.asList(resourceFromImport.getName(), "resource", firstName, lastName,
358 resourceFromImport.getLastUpdaterUserId());
359 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_IN_CHECKOUT_STATE.name(), variables,
360 importResponse.getResponse());
365 public void importNewResource_perfromByDesigner_ownedBy_diffrentUser() throws Exception {
367 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
369 assertNotNull("check response object is not null after import resource", importResponse);
370 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
371 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
372 Resource resourceFromImport = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
374 DbUtils.cleanAllAudits();
376 importResponse = importNewResource(UserRoleEnum.DESIGNER);
378 assertNotNull("check response object is not null after import resource", importResponse);
379 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
381 ErrorInfo errorInfo = ErrorValidationUtils
382 .parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CHECKOUT_STATE.name());
383 assertEquals("Check response code after adding artifact", errorInfo.getCode(), importResponse.getErrorCode());
385 String[] split = resourceFromImport.getLastUpdaterFullName().split(" ");
386 String firstName = split[0];
387 String lastName = split[1];
388 List<String> variables = Arrays.asList(resourceFromImport.getName(), "resource", firstName, lastName,
389 resourceFromImport.getLastUpdaterUserId());
390 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_IN_CHECKOUT_STATE.name(), variables,
391 importResponse.getResponse());
395 @Test(enabled = false)
396 public void importNewResource_nameSpace_vf() throws Exception {
397 RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testVF",
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.VF));
409 public void importNewResource_nameSpace_vfc() throws Exception {
410 RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testVFC",
411 UserRoleEnum.DESIGNER);
412 assertNotNull("check response object is not null after import resource", importResponse);
413 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
414 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
415 Resource resourceRespJavaObject = ResponseParser
416 .convertResourceResponseToJavaObject(importResponse.getResponse());
417 assertTrue(resourceRespJavaObject.getResourceType().equals(ResourceTypeEnum.VFC));
421 public void importNewResource_nameSpace_vl() throws Exception {
422 RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testVL",
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());
427 Resource resourceRespJavaObject = ResponseParser
428 .convertResourceResponseToJavaObject(importResponse.getResponse());
429 assertTrue(resourceRespJavaObject.getResourceType().equals(ResourceTypeEnum.VL));
434 public void importNewResource_nameSpace_cp() throws Exception {
435 RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testCP",
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());
441 Resource resourceRespJavaObject = ResponseParser
442 .convertResourceResponseToJavaObject(importResponse.getResponse());
443 assertTrue(resourceRespJavaObject.getResourceType().equals(ResourceTypeEnum.CP));
447 public void importNewResource_nameSpace_unknown() throws Exception {
448 RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4test",
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", 201, importResponse.getErrorCode().intValue());
453 Resource resourceRespJavaObject = ResponseParser
454 .convertResourceResponseToJavaObject(importResponse.getResponse());
455 assertTrue(resourceRespJavaObject.getResourceType().equals(ResourceTypeEnum.VFC));
460 public void importNewResource_MissingNameSpace() throws Exception {
461 RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testMissingNameSpace",
462 UserRoleEnum.DESIGNER);
463 assertNotNull("check response object is not null after import resource", importResponse);
464 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
465 assertEquals("Check response code after import resource", 400, importResponse.getErrorCode().intValue());
470 @Test(enabled = false)
471 public void importNewResource_existInCheckOut() throws Exception {
473 // import new resource
475 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
477 assertNotNull("check response object is not null after import resource", importResponse);
478 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
479 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
482 DbUtils.cleanAllAudits();
484 // import new resource while resource already exist in CHECKOUT state
486 importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.ADMIN);
488 assertNotNull("check response object is not null after import resource", importResponse);
489 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
490 assertEquals("Check response code after import resource", 200, importResponse.getErrorCode().intValue());
493 Resource resourceFromImport = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
494 assertNotNull(resourceFromImport);
495 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
496 ResourceRespJavaObject resourceRespJavaObject = Convertor.constructFieldsForRespValidation(resourceDetails);
497 resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
499 // validate get response
500 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
501 resourceRespJavaObject.getUniqueId());
502 Resource resourceFromGet = ResponseParser
503 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
504 assertNotNull(resourceFromGet);
507 ResourceValidationUtils.validateModelObjects(resourceFromImport, resourceFromGet);
510 resourceDetails.setVersion(resourceDetails.getVersion());
511 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
512 .constructFieldsForAuditValidation(resourceDetails);
514 auditAction = "ResourceImport";
515 resourceVersion = "0.1";
516 expectedResourceAuditJavaObject.setAction(auditAction);
517 expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
518 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
519 expectedResourceAuditJavaObject.setPrevVersion(resourceVersion);
520 expectedResourceAuditJavaObject.setStatus("200");
521 expectedResourceAuditJavaObject.setDesc("OK");
522 expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
524 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
528 @Test(enabled = false)
529 public void importNewResource_existIn_CheckIn_state() throws Exception {
531 // import new resource
533 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
535 assertNotNull("check response object is not null after import resource", importResponse);
536 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
537 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
538 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
541 resourceVersion = resourceDetails.getVersion();
542 String checkinComment = "good checkin";
543 String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}";
544 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
545 resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson);
547 assertNotNull("check response object is not null after import resource", checkInResponse);
548 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
551 DbUtils.cleanAllAudits();
553 // import new resource while resource already exist in CHECKIN state
555 importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.ADMIN);
557 assertNotNull("check response object is not null after import resource", importResponse);
558 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
559 assertEquals("Check response code after import resource", 200, importResponse.getErrorCode().intValue());
562 Resource resourceFromImport = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
563 assertNotNull(resourceFromImport);
565 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
566 ResourceRespJavaObject resourceRespJavaObject = Convertor.constructFieldsForRespValidation(resourceDetails);
567 resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
569 // validate get response
570 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
571 resourceRespJavaObject.getUniqueId());
572 Resource resourceFromGet = ResponseParser
573 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
574 assertNotNull(resourceFromGet);
577 ResourceValidationUtils.validateModelObjects(resourceFromImport, resourceFromGet);
580 resourceDetails.setVersion(resourceDetails.getVersion());
581 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
582 .constructFieldsForAuditValidation(resourceDetails);
584 resourceVersion = "0.2";
585 auditAction = "ResourceImport";
586 expectedResourceAuditJavaObject.setAction(auditAction);
587 expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
588 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
589 expectedResourceAuditJavaObject.setPrevVersion(resourceVersion);
590 expectedResourceAuditJavaObject.setStatus("200");
591 expectedResourceAuditJavaObject.setDesc("OK");
592 expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
593 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
597 public void importNewResource_existIn_Ready4cert_state_performByTester() throws Exception {
598 // import new resource
600 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
602 assertNotNull("check response object is not null after import resource", importResponse);
603 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
604 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
606 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
607 resourceVersion = resourceDetails.getVersion();
608 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
609 resourceDetails.getUniqueId());
610 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
611 Resource resourceFromGet = ResponseParser
612 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
613 assertNotNull(resourceFromGet);
614 // add mandatory artifacts
615 // // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails,
616 // resourceGetResponse);
617 resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId());
618 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
619 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
620 assertNotNull(resourceFromGet);
621 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
622 resourceDetails.setVersion(resourceFromGet.getVersion());
625 resourceVersion = resourceDetails.getVersion();
626 String checkinComment = "good checkin";
627 String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}";
628 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
629 resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson);
631 assertNotNull("check response object is not null after import resource", checkInResponse);
632 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
633 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(checkInResponse.getResponse());
634 assertNotNull(resourceFromGet);
635 resourceDetails = ResponseParser.parseToObject(checkInResponse.getResponse(), ResourceReqDetails.class);
636 resourceDetails.setVersion(resourceFromGet.getVersion());
639 RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
640 resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
641 assertNotNull("check response object is not null after resource request for certification", request4cert);
642 assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue());
643 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse());
644 assertNotNull(resourceFromGet);
645 resourceDetails = ResponseParser.parseToObject(request4cert.getResponse(), ResourceReqDetails.class);
646 resourceDetails.setVersion(resourceFromGet.getVersion());
649 DbUtils.cleanAllAudits();
651 // import new resource while resource already exist in CHECKIN state
652 importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.TESTER);
655 resourceVersion = resourceDetails.getVersion();
656 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESTRICTED_OPERATION.name());
657 assertNotNull("check response object is not null after create resouce", importResponse);
658 assertNotNull("check error code exists in response after create resource", importResponse.getErrorCode());
659 assertEquals("Check response code after create service", errorInfo.getCode(), importResponse.getErrorCode());
660 List<String> variables = Arrays.asList();
661 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), variables,
662 importResponse.getResponse());
666 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
667 .constructFieldsForAuditValidation(resourceDetails, resourceVersion);
669 String auditAction = "ResourceImport";
670 expectedResourceAuditJavaObject.setAction(auditAction);
671 expectedResourceAuditJavaObject.setResourceName("");
672 expectedResourceAuditJavaObject.setModifierUid(UserRoleEnum.TESTER.getUserId());
673 expectedResourceAuditJavaObject.setModifierName(UserRoleEnum.TESTER.getUserName());
674 expectedResourceAuditJavaObject.setPrevState("");
675 expectedResourceAuditJavaObject.setCurrState("");
676 expectedResourceAuditJavaObject.setPrevVersion("");
677 expectedResourceAuditJavaObject.setCurrVersion("");
678 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
679 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
680 expectedResourceAuditJavaObject.setDesc(auditDesc);
682 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
686 @Test(enabled = false)
687 public void importNewResource_existIn_Ready4cert_state_performByDesigner() throws Exception {
688 // import new resource
690 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
692 assertNotNull("check response object is not null after import resource", importResponse);
693 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
694 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
696 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
697 resourceVersion = resourceDetails.getVersion();
698 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
699 resourceDetails.getUniqueId());
700 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
701 Resource resourceFromGet = ResponseParser
702 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
703 assertNotNull(resourceFromGet);
704 // add mandatory artifacts
705 // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails,
706 // resourceGetResponse);
707 resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId());
708 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
709 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
710 assertNotNull(resourceFromGet);
711 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
712 resourceDetails.setVersion(resourceFromGet.getVersion());
715 resourceVersion = resourceDetails.getVersion();
716 String checkinComment = "good checkin";
717 String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}";
718 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
719 resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson);
720 assertNotNull("check response object is not null after import resource", checkInResponse);
721 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
724 RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
725 resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
726 assertNotNull("check response object is not null after resource request for certification", request4cert);
727 assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue());
728 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse());
729 assertNotNull(resourceFromGet);
730 resourceDetails = ResponseParser.parseToObject(request4cert.getResponse(), ResourceReqDetails.class);
731 resourceDetails.setVersion(resourceFromGet.getVersion());
734 DbUtils.cleanAllAudits();
736 // import new resource while resource already exist in other state
737 importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.DESIGNER);
740 ErrorInfo errorInfo = ErrorValidationUtils
741 .parseErrorConfigYaml(ActionStatus.COMPONENT_SENT_FOR_CERTIFICATION.name());
742 assertNotNull("check response object is not null after create resouce", importResponse);
743 assertNotNull("check error code exists in response after create resource", importResponse.getErrorCode());
744 assertEquals("Check response code after create service", errorInfo.getCode(), importResponse.getErrorCode());
745 String[] split = resourceFromGet.getLastUpdaterFullName().split(" ");
746 String firstName = split[0];
747 String lastName = split[1];
748 List<String> variables = Arrays.asList(resourceFromGet.getName(), "resource", firstName, lastName,
749 resourceFromGet.getLastUpdaterUserId());
750 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_SENT_FOR_CERTIFICATION.name(), variables,
751 importResponse.getResponse());
754 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
755 .constructFieldsForAuditValidation(resourceDetails, resourceVersion);
756 String auditAction = "ResourceImport";
757 expectedResourceAuditJavaObject.setAction(auditAction);
758 expectedResourceAuditJavaObject.setModifierUid(UserRoleEnum.DESIGNER.getUserId());
759 expectedResourceAuditJavaObject.setModifierName(UserRoleEnum.DESIGNER.getUserName());
760 expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.READY_FOR_CERTIFICATION).toString());
761 // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
762 expectedResourceAuditJavaObject.setCurrState("");
763 expectedResourceAuditJavaObject.setPrevVersion(resourceVersion);
764 expectedResourceAuditJavaObject.setCurrVersion("");
765 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
766 expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
767 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
768 expectedResourceAuditJavaObject.setDesc(auditDesc);
769 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
774 @Test(enabled = false)
775 public void importNewResource_existIn_Ready4cert_state_performByAdmin() throws Exception {
777 // import new resource
778 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
779 assertNotNull("check response object is not null after import resource", importResponse);
780 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
781 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
782 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
783 resourceVersion = resourceDetails.getVersion();
784 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
785 resourceDetails.getUniqueId());
786 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
787 Resource resourceFromGet = ResponseParser
788 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
789 assertNotNull(resourceFromGet);
791 // add mandatory artifacts
792 // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails,
793 // resourceGetResponse);
794 resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId());
795 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
796 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
797 assertNotNull(resourceFromGet);
798 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
799 resourceDetails.setVersion(resourceFromGet.getVersion());
802 resourceVersion = resourceDetails.getVersion();
803 String checkinComment = "good checkin";
804 String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}";
805 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
806 resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson);
807 assertNotNull("check response object is not null after import resource", checkInResponse);
808 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
811 RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
812 resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
813 assertNotNull("check response object is not null after resource request for certification", request4cert);
814 assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue());
815 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse());
816 assertNotNull(resourceFromGet);
817 resourceDetails = ResponseParser.parseToObject(request4cert.getResponse(), ResourceReqDetails.class);
818 resourceDetails.setVersion(resourceFromGet.getVersion());
821 DbUtils.cleanAllAudits();
823 // import new resource while resource already exist in other state
824 importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.ADMIN);
825 assertNotNull("check response object is not null after import resource", importResponse);
826 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
827 assertEquals("Check response code after import resource", 200, importResponse.getErrorCode().intValue());
828 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
829 assertNotNull(resourceFromGet);
830 resourceDetails = ResponseParser.parseToObject(request4cert.getResponse(), ResourceReqDetails.class);
831 resourceDetails.setVersion(resourceFromGet.getVersion());
832 resourceVersion = resourceDetails.getVersion();
833 // resourceVersion="0.2";
836 Resource resourceFromImport = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
837 assertNotNull(resourceFromImport);
838 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
839 ResourceRespJavaObject resourceRespJavaObject = Convertor.constructFieldsForRespValidation(resourceDetails);
840 resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
842 // validate get response
843 resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceRespJavaObject.getUniqueId());
844 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
845 assertNotNull(resourceFromGet);
848 ResourceValidationUtils.validateModelObjects(resourceFromImport, resourceFromGet);
851 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
852 .constructFieldsForAuditValidation(resourceDetails, resourceVersion);
853 auditAction = "ResourceImport";
854 expectedResourceAuditJavaObject.setAction(auditAction);
855 expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
856 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
857 expectedResourceAuditJavaObject.setPrevVersion(resourceVersion);
858 expectedResourceAuditJavaObject.setStatus("200");
859 expectedResourceAuditJavaObject.setDesc("OK");
860 expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
861 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
865 public void importNewResource_existIn_CerInProgress_state_performByTester() throws Exception {
867 // import new resource
868 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
869 assertNotNull("check response object is not null after import resource", importResponse);
870 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
871 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
872 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
873 resourceVersion = resourceDetails.getVersion();
874 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
875 resourceDetails.getUniqueId());
876 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
877 Resource resourceFromGet = ResponseParser
878 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
879 assertNotNull(resourceFromGet);
881 // add mandatory artifacts
882 // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails,
883 // resourceGetResponse);
884 resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId());
885 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
886 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
887 assertNotNull(resourceFromGet);
888 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
889 resourceDetails.setVersion(resourceFromGet.getVersion());
892 resourceVersion = resourceDetails.getVersion();
893 String checkinComment = "good checkin";
894 String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}";
895 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
896 resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson);
897 assertNotNull("check response object is not null after import resource", checkInResponse);
898 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
901 RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
902 resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
903 assertNotNull("check response object is not null after resource request for certification", request4cert);
904 assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue());
905 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse());
906 assertNotNull(resourceFromGet);
907 resourceDetails = ResponseParser.parseToObject(request4cert.getResponse(), ResourceReqDetails.class);
908 resourceDetails.setVersion(resourceFromGet.getVersion());
911 RestResponse startCert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
912 resourceVersion, LifeCycleStatesEnum.STARTCERTIFICATION);
913 assertNotNull("check response object is not null after resource request start certification", startCert);
914 assertEquals("Check response code after checkout resource", 200, startCert.getErrorCode().intValue());
915 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(startCert.getResponse());
916 assertNotNull(resourceFromGet);
917 resourceDetails = ResponseParser.parseToObject(startCert.getResponse(), ResourceReqDetails.class);
918 resourceDetails.setVersion(resourceFromGet.getVersion());
921 DbUtils.cleanAllAudits();
923 // import new resource while resource already exist in other state
924 importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.TESTER);
927 resourceVersion = resourceDetails.getVersion();
928 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESTRICTED_OPERATION.name());
929 assertNotNull("check response object is not null after create resouce", importResponse);
930 assertNotNull("check error code exists in response after create resource", importResponse.getErrorCode());
931 assertEquals("Check response code after create service", errorInfo.getCode(), importResponse.getErrorCode());
932 List<String> variables = Arrays.asList();
933 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), variables,
934 importResponse.getResponse());
937 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
938 .constructFieldsForAuditValidation(resourceDetails, resourceVersion);
939 String auditAction = "ResourceImport";
940 expectedResourceAuditJavaObject.setAction(auditAction);
941 expectedResourceAuditJavaObject.setResourceName("");
942 expectedResourceAuditJavaObject.setModifierUid(UserRoleEnum.TESTER.getUserId());
943 expectedResourceAuditJavaObject.setModifierName(UserRoleEnum.TESTER.getUserName());
944 expectedResourceAuditJavaObject.setPrevState("");
945 expectedResourceAuditJavaObject.setCurrState("");
946 expectedResourceAuditJavaObject.setPrevVersion("");
947 expectedResourceAuditJavaObject.setCurrVersion("");
948 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
949 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
950 expectedResourceAuditJavaObject.setDesc(auditDesc);
951 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
955 @Test(enabled = false)
956 public void importNewResource_existIn_CerInProgress_state_performByDesigner() throws Exception {
958 User sdncAdminUser = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
959 // import new resource
960 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
961 assertNotNull("check response object is not null after import resource", importResponse);
962 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
963 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
964 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
965 resourceVersion = resourceDetails.getVersion();
966 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
967 resourceDetails.getUniqueId());
968 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
969 Resource resourceFromGet = ResponseParser
970 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
971 assertNotNull(resourceFromGet);
973 // add mandatory artifacts
974 // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails,
975 // resourceGetResponse);
976 resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId());
977 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
978 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
979 assertNotNull(resourceFromGet);
980 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
981 resourceDetails.setVersion(resourceFromGet.getVersion());
984 resourceVersion = resourceDetails.getVersion();
985 String checkinComment = "good checkin";
986 String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}";
987 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
988 resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson);
989 assertNotNull("check response object is not null after import resource", checkInResponse);
990 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
993 RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
994 resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
995 assertNotNull("check response object is not null after resource request for certification", request4cert);
996 assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue());
997 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse());
998 assertNotNull(resourceFromGet);
999 resourceDetails = ResponseParser.parseToObject(request4cert.getResponse(), ResourceReqDetails.class);
1000 resourceDetails.setVersion(resourceFromGet.getVersion());
1003 RestResponse startCert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
1004 resourceVersion, LifeCycleStatesEnum.STARTCERTIFICATION);
1005 assertNotNull("check response object is not null after resource request start certification", startCert);
1006 assertEquals("Check response code after checkout resource", 200, startCert.getErrorCode().intValue());
1007 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(startCert.getResponse());
1008 assertNotNull(resourceFromGet);
1009 resourceDetails = ResponseParser.parseToObject(startCert.getResponse(), ResourceReqDetails.class);
1010 resourceDetails.setVersion(resourceFromGet.getVersion());
1011 resourceVersion = resourceDetails.getVersion();
1014 DbUtils.cleanAllAudits();
1016 // import new resource while resource already exist in other state
1017 importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.DESIGNER);
1018 ErrorInfo errorInfo = ErrorValidationUtils
1019 .parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name());
1020 assertNotNull("check response object is not null after create resouce", importResponse);
1021 assertNotNull("check error code exists in response after create resource", importResponse.getErrorCode());
1022 assertEquals("Check response code after create service", errorInfo.getCode(), importResponse.getErrorCode());
1023 List<String> variables = Arrays.asList(resourceDetails.getName(), "resource", sdncAdminUser.getFirstName(),
1024 sdncAdminUser.getLastName(), sdncAdminUser.getUserId());
1025 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name(),
1026 variables, importResponse.getResponse());
1029 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
1030 .constructFieldsForAuditValidation(resourceDetails, resourceVersion);
1031 String auditAction = "ResourceImport";
1032 expectedResourceAuditJavaObject.setAction(auditAction);
1033 expectedResourceAuditJavaObject.setModifierUid(UserRoleEnum.DESIGNER.getUserId());
1034 expectedResourceAuditJavaObject.setModifierName(UserRoleEnum.DESIGNER.getUserName());
1035 expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.CERTIFICATION_IN_PROGRESS).toString());
1036 // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
1037 expectedResourceAuditJavaObject.setCurrState("");
1038 expectedResourceAuditJavaObject.setPrevVersion(resourceVersion);
1039 expectedResourceAuditJavaObject.setCurrVersion("");
1040 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
1041 expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
1042 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
1043 expectedResourceAuditJavaObject.setDesc(auditDesc);
1044 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
1049 @Test(enabled = false)
1050 public void importNewResource_existIn_CerInProgress_state_performByAdmin() throws Exception {
1052 User sdncAdminUser = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
1054 // import new resource
1055 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
1056 assertNotNull("check response object is not null after import resource", importResponse);
1057 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
1058 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
1059 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
1060 resourceVersion = resourceDetails.getVersion();
1061 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
1062 resourceDetails.getUniqueId());
1063 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
1064 Resource resourceFromGet = ResponseParser
1065 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
1066 assertNotNull(resourceFromGet);
1068 // add mandatory artifacts
1069 // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails,
1070 // resourceGetResponse);
1071 resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId());
1072 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
1073 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
1074 assertNotNull(resourceFromGet);
1075 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
1076 resourceDetails.setVersion(resourceFromGet.getVersion());
1079 resourceVersion = resourceDetails.getVersion();
1080 String checkinComment = "good checkin";
1081 String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}";
1082 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
1083 resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson);
1084 assertNotNull("check response object is not null after import resource", checkInResponse);
1085 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
1087 // req4cert resource
1088 RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
1089 resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1090 assertNotNull("check response object is not null after resource request for certification", request4cert);
1091 assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue());
1092 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse());
1093 assertNotNull(resourceFromGet);
1094 resourceDetails = ResponseParser.parseToObject(request4cert.getResponse(), ResourceReqDetails.class);
1095 resourceDetails.setVersion(resourceFromGet.getVersion());
1098 RestResponse startCert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
1099 resourceVersion, LifeCycleStatesEnum.STARTCERTIFICATION);
1100 assertNotNull("check response object is not null after resource request start certification", startCert);
1101 assertEquals("Check response code after checkout resource", 200, startCert.getErrorCode().intValue());
1102 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(startCert.getResponse());
1103 assertNotNull(resourceFromGet);
1104 resourceDetails = ResponseParser.parseToObject(startCert.getResponse(), ResourceReqDetails.class);
1105 resourceDetails.setVersion(resourceFromGet.getVersion());
1106 resourceVersion = resourceDetails.getVersion();
1109 DbUtils.cleanAllAudits();
1111 // import new resource while resource already exist in other state
1112 importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.ADMIN);
1114 // validate response
1115 ErrorInfo errorInfo = ErrorValidationUtils
1116 .parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name());
1117 assertNotNull("check response object is not null after create resouce", importResponse);
1118 assertNotNull("check error code exists in response after create resource", importResponse.getErrorCode());
1119 assertEquals("Check response code after create service", errorInfo.getCode(), importResponse.getErrorCode());
1120 List<String> variables = Arrays.asList(resourceDetails.getName(), "resource", sdncAdminUser.getFirstName(),
1121 sdncAdminUser.getLastName(), sdncAdminUser.getUserId());
1122 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name(),
1123 variables, importResponse.getResponse());
1126 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor
1127 .constructFieldsForAuditValidation(resourceDetails, resourceVersion);
1128 String auditAction = "ResourceImport";
1129 expectedResourceAuditJavaObject.setAction(auditAction);
1130 expectedResourceAuditJavaObject.setModifierUid(UserRoleEnum.ADMIN.getUserId());
1131 expectedResourceAuditJavaObject.setModifierName(UserRoleEnum.ADMIN.getUserName());
1132 expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.CERTIFICATION_IN_PROGRESS).toString());
1133 // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
1134 expectedResourceAuditJavaObject.setCurrState("");
1135 expectedResourceAuditJavaObject.setPrevVersion(resourceVersion);
1136 expectedResourceAuditJavaObject.setCurrVersion("");
1137 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
1138 expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
1139 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
1140 expectedResourceAuditJavaObject.setDesc(auditDesc);
1141 AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false);
1146 // @Test(enabled = false)
1148 // importNewResource_existIn_Certified_state_chnage_reqAndCap_byDesigner()
1149 // throws Exception{
1151 // // Andrey - set default artifact details
1152 // ArtifactDefinition artifactDefinition =
1153 // artifactUtils.constructDefaultArtifactInfo();
1155 // // import new resource
1156 // RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
1157 // assertNotNull("check response object is not null after import resource",
1159 // assertNotNull("check error code exists in response after import
1160 // resource", importResponse.getErrorCode());
1161 // assertEquals("Check response code after import resource", 201,
1162 // importResponse.getErrorCode().intValue());
1163 // String resourceId =
1164 // ResponseParser.getUniqueIdFromResponse(importResponse);
1165 // resourceDetails =
1166 // ResponseParser.parseToObject(importResponse.getResponse(),
1167 // ResourceReqDetails.class);
1168 // resourceVersion = resourceDetails.getVersion();
1169 // RestResponse resourceGetResponse =
1170 // ResourceRestUtils.getResource(sdncModifierDetails,
1171 // resourceDetails.getUniqueId());
1172 // assertEquals("Check response code after get resource", 200,
1173 // resourceGetResponse.getErrorCode().intValue());
1174 // Resource resourceFromGet =
1175 // ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
1176 // assertNotNull(resourceFromGet);
1178 // // add mandatory artifacts
1179 // // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails,
1180 // resourceGetResponse);
1181 // resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
1182 // resourceDetails.getUniqueId());
1183 // assertEquals("Check response code after get resource", 200,
1184 // resourceGetResponse.getErrorCode().intValue());
1185 // resourceFromGet =
1186 // ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
1187 // assertNotNull(resourceFromGet);
1188 // resourceDetails =
1189 // ResponseParser.parseToObject(importResponse.getResponse(),
1190 // ResourceReqDetails.class);
1191 // resourceDetails.setVersion(resourceFromGet.getVersion());
1194 // artifactDefinition.setArtifactName(artifactName1);
1195 // ArtifactRestUtils.addInformationalArtifactToResource(resourceDetails,
1196 // sdncModifierDetails, resourceVersion , artifactDefinition);
1199 // artifactDefinition.setArtifactName(artifactName2);
1200 // resourceUtils.add_artifact(resourceDetails, sdncModifierDetails,
1201 // resourceVersion , artifactDefinition);
1204 // artifactDefinition.setArtifactName(interfaceArtifactName);
1205 // ResourceRestUtils.add_interface(resourceDetails, sdncModifierDetails,
1206 // resourceVersion , artifactDefinition);
1208 // //construct fields for validation
1209 // resourceVersion="1.0";
1211 // ResourceRespJavaObject resourceRespJavaObject =
1212 // Convertor.constructFieldsForRespValidation(resourceDetails,
1213 // resourceVersion);
1214 // ArrayList<String> artifacts = new ArrayList<String>();
1216 // artifacts.add(resourceId+":"+artifactName1);
1217 // artifacts.add(resourceId+":"+artifactName2);
1218 // resourceRespJavaObject.setArtifacts(artifacts);
1219 // ArrayList<String> interfaces = new ArrayList<String>();
1221 // interfaces.add(interfaze);
1222 // resourceRespJavaObject.setInterfaces(interfaces);
1224 // // checkIn resource
1225 // resourceVersion = resourceDetails.getVersion();
1226 // String checkinComment = "good checkin";
1227 // String checkinComentJson = "{\"userRemarks\": \""+checkinComment+"\"}";
1228 // RestResponse checkInResponse =
1229 // LifecycleRestUtils.changeResourceState(resourceDetails,
1230 // sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CHECKIN,
1231 // checkinComentJson);
1232 // assertNotNull("check response object is not null after import resource",
1233 // checkInResponse);
1234 // assertEquals("Check response code after checkout resource", 200,
1235 // checkInResponse.getErrorCode().intValue());
1237 // // req4cert resource
1238 // RestResponse request4cert =
1239 // LifecycleRestUtils.changeResourceState(resourceDetails,
1240 // sdncModifierDetails, resourceVersion,
1241 // LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1242 // assertNotNull("check response object is not null after resource request
1243 // for certification", request4cert);
1244 // assertEquals("Check response code after checkout resource", 200,
1245 // request4cert.getErrorCode().intValue());
1246 // resourceFromGet =
1247 // ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse());
1248 // assertNotNull(resourceFromGet);
1249 // resourceDetails =
1250 // ResponseParser.parseToObject(request4cert.getResponse(),
1251 // ResourceReqDetails.class);
1252 // resourceDetails.setVersion(resourceFromGet.getVersion());
1255 // RestResponse startCert =
1256 // LifecycleRestUtils.changeResourceState(resourceDetails,
1257 // sdncModifierDetails, resourceVersion,
1258 // LifeCycleStatesEnum.STARTCERTIFICATION);
1259 // assertNotNull("check response object is not null after resource request
1260 // start certification", startCert);
1261 // assertEquals("Check response code after checkout resource", 200,
1262 // startCert.getErrorCode().intValue());
1263 // resourceFromGet =
1264 // ResponseParser.convertResourceResponseToJavaObject(startCert.getResponse());
1265 // assertNotNull(resourceFromGet);
1266 // resourceDetails = ResponseParser.parseToObject(startCert.getResponse(),
1267 // ResourceReqDetails.class);
1268 // resourceDetails.setVersion(resourceFromGet.getVersion());
1271 // RestResponse certify =
1272 // LifecycleRestUtils.changeResourceState(resourceDetails,
1273 // sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CERTIFY);
1274 // assertNotNull("check response object is not null after resource request
1275 // certify", certify);
1276 // assertEquals("Check response code after certify resource", 200,
1277 // certify.getErrorCode().intValue());
1278 // resourceFromGet =
1279 // ResponseParser.convertResourceResponseToJavaObject(certify.getResponse());
1280 // assertNotNull(resourceFromGet);
1281 // resourceDetails = ResponseParser.parseToObject(certify.getResponse(),
1282 // ResourceReqDetails.class);
1283 // resourceDetails.setVersion(resourceFromGet.getVersion());
1286 // DbUtils.cleanAllAudits();
1288 // // change resource details
1290 // // import new resource while resource already exist in other state
1292 // ImportRestUtils.importNewResourceByName("importResource4testUpdateWithoutReqCap",
1293 // UserRoleEnum.ADMIN);
1294 // assertNotNull("check response object is not null after import resource",
1296 // assertNotNull("check error code exists in response after import
1297 // resource", importResponse.getErrorCode());
1298 // assertEquals("Check response code after import resource", 200,
1299 // importResponse.getErrorCode().intValue());
1300 // resourceDetails =
1301 // ResponseParser.parseToObject(importResponse.getResponse(),
1302 // ResourceReqDetails.class);
1303 // resourceVersion = resourceDetails.getVersion();
1304 // resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
1305 // resourceDetails.getUniqueId());
1306 // assertEquals("Check response code after get resource", 200,
1307 // resourceGetResponse.getErrorCode().intValue());
1308 // resourceFromGet =
1309 // ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
1310 // assertNotNull(resourceFromGet);
1312 // // validate response
1313 // Resource resourceFromImport =
1314 // ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse());
1315 // assertNotNull(resourceFromImport);
1317 // resourceDetails =
1318 // ResponseParser.parseToObject(importResponse.getResponse(),
1319 // ResourceReqDetails.class);
1320 // resourceRespJavaObject =
1321 // Convertor.constructFieldsForRespValidation(resourceDetails);
1322 // resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
1324 // // validate get response
1325 // resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
1326 // resourceRespJavaObject.getUniqueId());
1327 // resourceFromGet =
1328 // ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
1329 // assertNotNull(resourceFromGet);
1332 // ResourceValidationUtils.validateModelObjects(resourceFromImport,
1333 // resourceFromGet);
1335 // // validate audit
1336 // ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject =
1337 // Convertor.constructFieldsForAuditValidation(resourceDetails,
1338 // resourceVersion);
1339 // auditAction="ResourceImport";
1340 // expectedResourceAuditJavaObject.setAction(auditAction);
1341 // expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
1342 // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
1343 // expectedResourceAuditJavaObject.setPrevVersion(resourceVersion);
1344 // expectedResourceAuditJavaObject.setStatus("200");
1345 // expectedResourceAuditJavaObject.setDesc("OK");
1346 // expectedResourceAuditJavaObject.setToscaNodeType(resourceFromGet.getToscaResourceName());
1347 // AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject,
1348 // auditAction, null, false);
1352 public void importNewResource_uuidTest() throws Exception {
1353 RestResponse importResponse = importNewResource(UserRoleEnum.ADMIN);
1355 assertNotNull("check response object is not null after import resource", importResponse);
1356 assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode());
1357 assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue());
1358 String oldUuid = ResponseParser.getValueFromJsonResponse(importResponse.getResponse(), "uuid");
1360 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
1361 resourceVersion = resourceDetails.getVersion();
1362 RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails,
1363 resourceDetails.getUniqueId());
1364 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
1365 Resource resourceFromGet = ResponseParser
1366 .convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
1367 assertNotNull(resourceFromGet);
1368 // add mandatory artifacts
1369 // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails,
1370 // resourceGetResponse);
1371 resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId());
1372 assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue());
1373 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse());
1374 assertNotNull(resourceFromGet);
1375 resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class);
1376 resourceDetails.setVersion(resourceFromGet.getVersion());
1378 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
1379 "0.1", LifeCycleStatesEnum.CHECKIN);
1380 assertNotNull("check response object is not null after import resource", checkInResponse);
1381 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
1383 String newUuid = ResponseParser.getValueFromJsonResponse(checkInResponse.getResponse(), "uuid");
1384 assertTrue(ResourceValidationUtils.validateUuidAfterChangingStatus(oldUuid, newUuid));
1386 // req4cert resource
1387 RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
1388 resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1389 assertNotNull("check response object is not null after resource request for certification", request4cert);
1390 assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue());
1391 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse());
1392 assertNotNull(resourceFromGet);
1393 resourceDetails = ResponseParser.parseToObject(request4cert.getResponse(), ResourceReqDetails.class);
1394 resourceDetails.setVersion(resourceFromGet.getVersion());
1396 String newUuid2 = ResponseParser.getValueFromJsonResponse(request4cert.getResponse(), "uuid");
1397 assertTrue(ResourceValidationUtils.validateUuidAfterChangingStatus(oldUuid, newUuid2));
1400 RestResponse startCert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
1401 resourceVersion, LifeCycleStatesEnum.STARTCERTIFICATION);
1402 assertNotNull("check response object is not null after resource request start certification", startCert);
1403 assertEquals("Check response code after checkout resource", 200, startCert.getErrorCode().intValue());
1404 resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(startCert.getResponse());
1405 assertNotNull(resourceFromGet);
1406 resourceDetails = ResponseParser.parseToObject(startCert.getResponse(), ResourceReqDetails.class);
1407 resourceDetails.setVersion(resourceFromGet.getVersion());
1409 String newUuid3 = ResponseParser.getValueFromJsonResponse(startCert.getResponse(), "uuid");
1410 assertTrue(ResourceValidationUtils.validateUuidAfterChangingStatus(oldUuid, newUuid3));
1412 RestResponse certify = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, "0.1",
1413 LifeCycleStatesEnum.CERTIFY);
1414 assertNotNull("check response object is not null after import resource", certify);
1415 assertEquals("Check response code after checkout resource", 200, certify.getErrorCode().intValue());
1417 String newUuid4 = ResponseParser.getValueFromJsonResponse(certify.getResponse(), "uuid");
1418 assertTrue(ResourceValidationUtils.validateUuidAfterChangingStatus(oldUuid, newUuid4));
1420 RestResponse checkoutResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails,
1421 "1.0", LifeCycleStatesEnum.CHECKOUT);
1422 assertNotNull("check response object is not null after import resource", checkInResponse);
1423 assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue());
1425 String newUuid5 = ResponseParser.getValueFromJsonResponse(checkoutResponse.getResponse(), "uuid");
1426 assertFalse(ResourceValidationUtils.validateUuidAfterChangingStatus(oldUuid, newUuid5));
1430 public void importNewResource_propertiesMapInternalUrlCredential() throws Exception {
1431 String folderName = "validateProporties_typeMap_valueUrlCredential";
1432 RestResponse importResponse = ImportRestUtils.importNewResourceByName(folderName, UserRoleEnum.DESIGNER);
1434 Resource resource = ResponseParser.parseToObjectUsingMapper(importResponse.getResponse(), Resource.class);
1436 List<PropertyDefinition> properties = resource.getProperties();
1437 assertEquals("check properties size", 3, properties.size());
1439 PropertyDefinition propertyDefinition = properties.stream().filter(p -> p.getName().equals("validation_test"))
1441 String defaultValue = propertyDefinition.getDefaultValue();
1443 Map mapValue = gson.fromJson(defaultValue, Map.class);
1444 assertEquals("check Map value size", 2, mapValue.size());
1445 checkMapValues(mapValue, "key", 1, null);
1446 checkMapValues(mapValue, "key", 2, null);
1448 System.err.println("import Resource " + "<" + folderName + ">" + "response: " + importResponse.getErrorCode());
1453 public void importNewResource_propertiesListInternalUrlCredential() throws Exception {
1454 String folderName = "validateProporties_typeList_valueUrlCredential";
1455 RestResponse importResponse = ImportRestUtils.importNewResourceByName(folderName, UserRoleEnum.DESIGNER);
1457 Resource resource = ResponseParser.parseToObjectUsingMapper(importResponse.getResponse(), Resource.class);
1459 List<PropertyDefinition> properties = resource.getProperties();
1460 assertEquals("check properties size", 3, properties.size());
1462 PropertyDefinition propertyDefinition = properties.stream().filter(p -> p.getName().equals("validation_test"))
1464 String defaultValue = propertyDefinition.getDefaultValue();
1466 List listValue = gson.fromJson(defaultValue, List.class);
1467 assertEquals("check List value size", 2, listValue.size());
1468 checkListValues(listValue.get(0), 1, SPECIAL_CHARACTERS);
1469 checkListValues(listValue.get(1), 2, SPECIAL_CHARACTERS);
1471 // Verify attributes
1472 List<PropertyDefinition> attributes = resource.getAttributes();
1474 assertEquals("check properties size", 2, attributes.size());
1476 // Verify attribute from type map
1477 PropertyDefinition attributeMapDefinition = attributes.stream()
1478 .filter(p -> p.getName().equals("validation_test_map")).findFirst().get();
1479 String defaultMapValue = attributeMapDefinition.getDefaultValue();
1480 Map attributeMapValue = gson.fromJson(defaultMapValue, Map.class);
1481 assertEquals("check Map value size", 2, attributeMapValue.size());
1482 checkMapValues(attributeMapValue, "key", 1, SPECIAL_CHARACTERS);
1483 checkMapValues(attributeMapValue, "key", 2, SPECIAL_CHARACTERS);
1485 // Verify attribute from type list
1486 PropertyDefinition attributeListDefinition = attributes.stream()
1487 .filter(p -> p.getName().equals("validation_test_list")).findFirst().get();
1488 String defaultListValue = attributeListDefinition.getDefaultValue();
1490 List attributeListValue = gson.fromJson(defaultListValue, List.class);
1491 assertEquals("check List value size", 2, attributeListValue.size());
1492 checkListValues(attributeListValue.get(0), 1, SPECIAL_CHARACTERS);
1493 checkListValues(attributeListValue.get(1), 2, SPECIAL_CHARACTERS);
1495 System.err.println("import Resource " + "<" + folderName + ">" + "response: " + importResponse.getErrorCode());
1499 private void checkListValues(Object object, int index, String suffix) {
1501 Map map = (Map) object;
1502 assertEquals("check Map protocol value", "protocol" + index + (suffix == null ? "" : suffix),
1503 map.get("protocol"));
1504 assertEquals("check Map token value", "token" + index, map.get("token"));
1508 public void importNewResource_validateProporties_typeTestDataType() throws Exception {
1509 String folderName = "validateProporties_typeTestDataType";
1510 RestResponse importResponse = ImportRestUtils.importNewResourceByName(folderName, UserRoleEnum.DESIGNER);
1512 Resource resource = ResponseParser.parseToObjectUsingMapper(importResponse.getResponse(), Resource.class);
1516 private void checkMapValues(Map mapValue, String key, int index, String suffix) {
1518 Map map1 = (Map) mapValue.get(key + index);
1519 assertEquals("check Map protocol value", "protocol" + index + (suffix == null ? "" : suffix),
1520 map1.get("protocol"));
1521 assertEquals("check Map token value", "token" + index, map1.get("token"));