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.resource;
23 import static org.testng.AssertJUnit.assertEquals;
24 import static org.testng.AssertJUnit.assertTrue;
26 import java.io.IOException;
27 import java.util.ArrayList;
28 import java.util.Arrays;
29 import java.util.List;
31 import org.junit.Rule;
32 import org.junit.rules.TestName;
33 import org.openecomp.sdc.be.dao.api.ActionStatus;
34 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
35 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
36 import org.openecomp.sdc.be.model.ComponentInstance;
37 import org.openecomp.sdc.be.model.Resource;
38 import org.openecomp.sdc.be.model.User;
39 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
40 import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails;
41 import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails;
42 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
43 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
44 import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
45 import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo;
46 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
47 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
48 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
49 import org.openecomp.sdc.ci.tests.utils.Utils;
50 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
51 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
52 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
53 import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
54 import org.openecomp.sdc.ci.tests.utils.rest.ComponentInstanceRestUtils;
55 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
56 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
57 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
58 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
59 import org.testng.annotations.BeforeMethod;
60 import org.testng.annotations.BeforeTest;
61 import org.testng.annotations.Test;
63 import com.google.gson.Gson;
65 import fj.data.Either;
67 public class VFResourceInstanceNameCRUD extends ComponentBaseTest {
69 protected static ServiceReqDetails serviceDetails;
70 protected static ResourceReqDetails resourceDetailsVFC;
71 protected static ResourceReqDetails resourceDetailsVL;
72 protected static ResourceReqDetails resourceDetailsVF;
73 protected static ResourceReqDetails resourceDetailsCP;
74 protected static ComponentInstanceReqDetails resourceInstanceReqDetailsVF;
75 protected static ComponentInstanceReqDetails resourceInstanceReqDetailsVFC;
76 protected static ComponentInstanceReqDetails resourceInstanceReqDetailsVL;
77 protected static ComponentInstanceReqDetails resourceInstanceReqDetailsCP;
78 protected static User sdncDesignerDetails1;
79 protected static User sdncTesterDeatails1;
80 protected static User sdncAdminDetails1;
81 protected static ArtifactReqDetails heatArtifactDetails;
82 protected static ArtifactReqDetails defaultArtifactDetails;
83 protected static int maxLength = 50;
84 protected static Resource resourceVF = null;
87 public static TestName name = new TestName();
89 public VFResourceInstanceNameCRUD() {
90 super(name, VFResourceInstanceNameCRUD.class.getName());
95 public void init() throws Exception {
97 // serviceDetails = ElementFactory.getDefaultService();
98 // resourceDetailsVFC =
99 // ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VFC.toString(),
101 // resourceDetailsVF =
102 // ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF.toString(),
104 // resourceDetailsVL =
105 // ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VL.toString(),
107 // resourceDetailsCP =
108 // ElementFactory.getDefaultResourceByType(ResourceTypeEnum.CP.toString(),
110 sdncDesignerDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
111 sdncTesterDeatails1 = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
112 sdncAdminDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
113 // heatArtifactDetails =
114 // ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType());
116 Either<Resource, RestResponse> resourceDetailsCP_01e = AtomicOperationUtils
117 .createResourceByType(ResourceTypeEnum.CP, UserRoleEnum.DESIGNER, true);
118 AtomicOperationUtils.changeComponentState(resourceDetailsCP_01e.left().value(), UserRoleEnum.DESIGNER,
119 LifeCycleStatesEnum.CHECKIN, true);
120 resourceDetailsCP = new ResourceReqDetails(resourceDetailsCP_01e.left().value());
121 Either<Resource, RestResponse> resourceDetailsVL_01e = AtomicOperationUtils
122 .createResourceByType(ResourceTypeEnum.VL, UserRoleEnum.DESIGNER, true);
123 AtomicOperationUtils.changeComponentState(resourceDetailsVL_01e.left().value(), UserRoleEnum.DESIGNER,
124 LifeCycleStatesEnum.CHECKIN, true);
125 resourceDetailsVL = new ResourceReqDetails(resourceDetailsVL_01e.left().value());
126 Either<Resource, RestResponse> resourceDetailsVF_01e = AtomicOperationUtils
127 .createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true);
128 resourceDetailsVF = new ResourceReqDetails(resourceDetailsVF_01e.left().value());
129 Either<Resource, RestResponse> resourceDetailsVFC_01e = AtomicOperationUtils
130 .createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true);
131 AtomicOperationUtils.changeComponentState(resourceDetailsVFC_01e.left().value(), UserRoleEnum.DESIGNER,
132 LifeCycleStatesEnum.CHECKIN, true);
133 resourceDetailsVFC = new ResourceReqDetails(resourceDetailsVFC_01e.left().value());
135 resourceInstanceReqDetailsVFC = ElementFactory.getDefaultComponentInstance("VFC", resourceDetailsVFC);
136 resourceInstanceReqDetailsVF = ElementFactory.getDefaultComponentInstance("VF", resourceDetailsVF);
137 resourceInstanceReqDetailsVL = ElementFactory.getDefaultComponentInstance("VL", resourceDetailsVL);
138 resourceInstanceReqDetailsCP = ElementFactory.getDefaultComponentInstance("CP", resourceDetailsCP);
139 sdncDesignerDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
140 sdncTesterDeatails1 = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
141 sdncAdminDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
146 public void addResourceInstanceToVF() throws Exception {
148 createVFWithCertifiedResourceInstance(resourceDetailsCP, resourceInstanceReqDetailsCP);
150 List<ComponentInstance> resourceInstances = resourceVF.getComponentInstances();
151 List<String> resourceInstanceListName = new ArrayList<String>();
152 for (int i = 0; i < resourceInstances.size(); i++) {
153 resourceInstanceListName.add(resourceInstances.get(i).getName());
155 List<String> resourceInstanceExpectedListName = new ArrayList<String>();
156 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsCP.getName() + " 1");
157 String message = "resource instance name";
158 Utils.compareArrayLists(resourceInstanceListName, resourceInstanceExpectedListName, message);
163 public void updateResourceInstanceName() throws Exception {
165 // update resource instance name
166 String resourceInstanceUpdatedName = "resource New 2";
168 ResourceReqDetails updatedResourceDetailsVLC = changeResouceName(resourceDetailsVFC,
169 resourceInstanceUpdatedName);
170 createVFWithCertifiedResourceInstance(updatedResourceDetailsVLC, resourceInstanceReqDetailsVFC);
172 resourceInstanceReqDetailsVFC.setName(resourceInstanceUpdatedName);
173 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
174 resourceInstanceReqDetailsVFC, sdncDesignerDetails1, resourceVF.getUniqueId(),
175 ComponentTypeEnum.RESOURCE);
176 assertTrue(updateResourceInstanceResponse.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS);
178 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
181 List<ComponentInstance> resourceInstances = resourceVF.getComponentInstances();
182 List<String> resourceInstanceListName = new ArrayList<String>();
183 for (int i = 0; i < resourceInstances.size(); i++) {
184 resourceInstanceListName.add(resourceInstances.get(i).getName());
186 List<String> resourceInstanceExpectedListName = new ArrayList<String>();
187 resourceInstanceExpectedListName.add(resourceInstanceUpdatedName);
188 String message = "resource instance name";
189 Utils.compareArrayLists(resourceInstanceListName, resourceInstanceExpectedListName, message);
194 public void updateResourceInstanceNameToNextGeneratedName() throws Exception {
196 // update resource instance name
197 String resourceInstanceUpdatedName = resourceInstanceReqDetailsCP.getName() + " 2";
199 ResourceReqDetails updatedResourceDetailsVL = changeResouceName(resourceDetailsVL, resourceInstanceUpdatedName);
200 createVFWithCertifiedResourceInstance(updatedResourceDetailsVL, resourceInstanceReqDetailsVL);
201 resourceInstanceReqDetailsCP.setName(resourceInstanceUpdatedName);
203 // add second resource instance
204 RestResponse response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetailsCP,
205 sdncDesignerDetails1, resourceVF);
206 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
207 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
210 List<ComponentInstance> resourceInstances = resourceVF.getComponentInstances();
211 List<String> resourceInstanceListName = new ArrayList<String>();
212 for (int i = 0; i < resourceInstances.size(); i++) {
213 resourceInstanceListName.add(resourceInstances.get(i).getName());
215 List<String> resourceInstanceExpectedListName = new ArrayList<String>();
216 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsVL.getName() + " 1");
217 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsCP.getName() + " 2");
218 String message = "resource instance name";
219 Utils.compareArrayLists(resourceInstanceListName, resourceInstanceExpectedListName, message);
224 public void normolizeUpdatedResourceInstanceName() throws Exception {
226 String resourceInstanceUpdatedName = "resource new - .2";
227 String normalizedName = "resourcenew2";
229 ResourceReqDetails updatedResourceDetailsVL = changeResouceName(resourceDetailsVL, resourceInstanceUpdatedName);
231 createVFWithCertifiedResourceInstance(updatedResourceDetailsVL, resourceInstanceReqDetailsVL);
232 // update resource instance name
233 resourceInstanceReqDetailsCP.setName(resourceInstanceUpdatedName);
235 // add second resource instance
236 RestResponse response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetailsCP,
237 sdncDesignerDetails1, resourceVF);
238 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
239 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
242 List<ComponentInstance> resourceInstances = resourceVF.getComponentInstances();
243 List<String> resourceInstanceListName = new ArrayList<String>();
244 for (int i = 0; i < resourceInstances.size(); i++) {
245 resourceInstanceListName.add(resourceInstances.get(i).getName());
247 List<String> resourceInstanceExpectedListName = new ArrayList<String>();
248 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsVL.getName() + " 1");
249 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsCP.getName() + " 2");
250 String message = "resource instance name";
251 Utils.compareArrayLists(resourceInstanceListName, resourceInstanceExpectedListName, message);
256 public void updatedResourceInstanceNameToEmpty() throws Exception {
258 createVFWithCertifiedResourceInstance(resourceDetailsVL, resourceInstanceReqDetailsVL);
259 String resourceInstanceUpdatedName = "";
260 String resourceInstancePreviousName = resourceDetailsCP.getName();
262 // add second resource instance
263 RestResponse response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetailsCP,
264 sdncDesignerDetails1, resourceVF);
265 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
266 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
268 resourceInstanceReqDetailsCP.setName(resourceInstanceUpdatedName);
269 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
270 resourceInstanceReqDetailsCP, sdncDesignerDetails1, resourceVF.getUniqueId(),
271 ComponentTypeEnum.RESOURCE);
272 assertEquals("Check response code after RI update request", 200,
273 updateResourceInstanceResponse.getErrorCode().intValue());
275 // ErrorInfo errorInfo =
276 // Utils.parseYaml(ActionStatus.MISSING_COMPONENT_NAME.name());
277 // utils.validateResponseCode(updateResourceInstanceResponse,
278 // errorInfo.getCode(), "update resource instance");
280 // List<String> variables = Arrays.asList("Resource Instance");
281 // ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_COMPONENT_NAME.name(),
282 // variables, updateResourceInstanceResponse.getResponse());
284 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
287 List<ComponentInstance> resourceInstances = resourceVF.getComponentInstances();
288 List<String> resourceInstanceListName = new ArrayList<String>();
289 for (int i = 0; i < resourceInstances.size(); i++) {
290 resourceInstanceListName.add(resourceInstances.get(i).getName());
292 List<String> resourceInstanceExpectedListName = new ArrayList<String>();
293 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsVL.getName() + " 1");
294 resourceInstanceExpectedListName.add(resourceInstancePreviousName + " 3");
295 String message = "resource instance name";
296 Utils.compareArrayLists(resourceInstanceListName, resourceInstanceExpectedListName, message);
301 public void updatedResourceNameLengthExceedMaximumCharacters() throws Exception {
303 String resourceInstancePreviousName = resourceDetailsCP.getName();
304 // update resource instance name
305 String resourceInstanceUpdatedName = "a";
306 for (int i = 0; i < maxLength; i++) {
307 resourceInstanceUpdatedName += "b";
309 // ResourceReqDetails updatedResourceDetailsVL =
310 // changeResouceName(resourceDetailsVL, resourceInstanceUpdatedName);
312 createVFWithCertifiedResourceInstance(resourceDetailsVL, resourceInstanceReqDetailsVL);
313 // add second resource instance
314 RestResponse response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetailsCP,
315 sdncDesignerDetails1, resourceVF);
316 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
317 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
319 String prevName = resourceInstanceReqDetailsCP.getName();
320 resourceInstanceReqDetailsCP.setName(resourceInstanceUpdatedName);
321 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
322 resourceInstanceReqDetailsCP, sdncDesignerDetails1, resourceVF.getUniqueId(),
323 ComponentTypeEnum.RESOURCE);
324 ErrorInfo errorInfo = ErrorValidationUtils
325 .parseErrorConfigYaml(ActionStatus.COMPONENT_NAME_EXCEEDS_LIMIT.name());
326 // utils.validateResponseCode(updateResourceInstanceResponse,
327 // errorInfo.getCode(), "update resource instance");
329 List<String> variables = Arrays.asList("Resource Instance", "50");
330 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_NAME_EXCEEDS_LIMIT.name(), variables,
331 updateResourceInstanceResponse.getResponse());
333 resourceInstanceReqDetailsCP.setName(prevName);
335 List<ComponentInstance> resourceInstances = resourceVF.getComponentInstances();
336 List<String> resourceInstanceListName = new ArrayList<String>();
337 for (int i = 0; i < resourceInstances.size(); i++) {
338 resourceInstanceListName.add(resourceInstances.get(i).getName());
340 List<String> resourceInstanceExpectedListName = new ArrayList<String>();
341 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsVL.getName() + " 1");
342 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsCP.getName() + " 2");
343 String message = "resource instance name";
344 Utils.compareArrayLists(resourceInstanceListName, resourceInstanceExpectedListName, message);
349 public void updatedResourceNameWithUnSupportedCharacters() throws Exception {
351 createVFWithCertifiedResourceInstance(resourceDetailsVL, resourceInstanceReqDetailsVL);
352 String resourceInstancePreviousName = resourceDetailsCP.getName();
353 // update resource instance name
354 String resourceInstanceUpdatedName = "a???<>";
356 // add second resource instance
357 RestResponse response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetailsCP,
358 sdncDesignerDetails1, resourceVF);
359 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
360 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
362 String prevValue = resourceInstanceReqDetailsCP.getName();
363 resourceInstanceReqDetailsCP.setName(resourceInstanceUpdatedName);
364 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
365 resourceInstanceReqDetailsCP, sdncDesignerDetails1, resourceVF.getUniqueId(),
366 ComponentTypeEnum.RESOURCE);
367 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_COMPONENT_NAME.name());
368 // ResourceRestUtils.validateResponseCode(updateResourceInstanceResponse,
369 // errorInfo.getCode(), "update resource instance");
371 List<String> variables = Arrays.asList("Resource Instance");
372 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_COMPONENT_NAME.name(), variables,
373 updateResourceInstanceResponse.getResponse());
375 resourceInstanceReqDetailsCP.setName(prevValue);
378 List<ComponentInstance> resourceInstances = resourceVF.getComponentInstances();
379 List<String> resourceInstanceListName = new ArrayList<String>();
380 for (int i = 0; i < resourceInstances.size(); i++) {
381 resourceInstanceListName.add(resourceInstances.get(i).getName());
383 List<String> resourceInstanceExpectedListName = new ArrayList<String>();
384 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsVL.getName() + " 1");
385 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsCP.getName() + " 2");
386 String message = "resource instance name";
387 Utils.compareArrayLists(resourceInstanceListName, resourceInstanceExpectedListName, message);
391 private static ResourceReqDetails changeResouceName(ResourceReqDetails resourceDet,
392 String resourceInstanceUpdatedName) throws Exception {
394 ResourceReqDetails updatedResourceDetails = new ResourceReqDetails();
395 updatedResourceDetails = resourceDet;
396 updatedResourceDetails.setName(resourceInstanceUpdatedName);
397 List<String> tags = new ArrayList<String>();
398 tags.add(resourceInstanceUpdatedName);
399 updatedResourceDetails.setTags(tags);
400 Gson gson = new Gson();
401 String updatedResourceBodyJson = gson.toJson(updatedResourceDetails);
402 RestResponse response = LifecycleRestUtils.changeResourceState(resourceDet, sdncDesignerDetails1,
403 resourceDet.getVersion(), LifeCycleStatesEnum.CHECKOUT);
404 assertTrue("change LS state to CHECKOUT, returned status:" + response.getErrorCode(),
405 response.getErrorCode() == 200);
406 response = ResourceRestUtils.updateResourceMetadata(updatedResourceBodyJson, sdncDesignerDetails1,
407 updatedResourceDetails.getUniqueId());
408 assertEquals("Check response code after updateresource name", 200, response.getErrorCode().intValue());
409 response = LifecycleRestUtils.changeResourceState(updatedResourceDetails, sdncDesignerDetails1,
410 resourceDet.getVersion(), LifeCycleStatesEnum.CHECKIN);
412 return updatedResourceDetails;
416 // private Component changeResouceName(Resource resourceDet, String
417 // resourceInstanceUpdatedName) throws Exception{
419 // User defaultUser = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
420 // Resource updatedResourceDetails = resourceDet;
421 // RestResponse response =
422 // LifecycleRestUtils.changeComponentState(updatedResourceDetails,
423 // defaultUser, LifeCycleStatesEnum.CHECKOUT, "state changed");
424 // assertTrue("change LS state to CHECKOUT, returned status:" +
425 // response.getErrorCode(),response.getErrorCode() == 200);
426 // updatedResourceDetails.setName(resourceInstanceUpdatedName);
427 // List<String> tags = new ArrayList<String>();
428 // tags.add(resourceInstanceUpdatedName);
429 // updatedResourceDetails.setTags(tags);
430 // Gson gson = new Gson();
431 // ResourceReqDetails resourceReqDetails = new
432 // ResourceReqDetails(updatedResourceDetails);
433 // String updatedResourceBodyJson = gson.toJson(resourceReqDetails);
434 // response = ResourceRestUtils.updateResource(updatedResourceBodyJson,
435 // defaultUser, updatedResourceDetails.getUniqueId());
436 // assertEquals("Check response code after updateresource name", 200,
437 // response.getErrorCode().intValue());
439 // LifecycleRestUtils.changeComponentState(updatedResourceDetails,
440 // defaultUser, LifeCycleStatesEnum.CHECKIN, "state changed");
441 // assertEquals("Check response code after updateresource name", 200,
442 // response.getErrorCode().intValue());
444 // return updatedResourceDetails;
448 private void createVFWithCertifiedResourceInstance(ResourceReqDetails resourceDetails,
449 ComponentInstanceReqDetails resourceInstanceReqDetails) throws Exception {
451 RestResponse response = LifecycleRestUtils.changeResourceState(resourceDetails, sdncDesignerDetails1,
452 resourceDetails.getVersion(), LifeCycleStatesEnum.CHECKOUT);
453 assertEquals("Check response code after CHECKOUT", 200, response.getErrorCode().intValue());
455 // add heat artifact to resource and certify
456 ArtifactReqDetails heatArtifactDetails = ElementFactory
457 .getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType());
458 response = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails, sdncDesignerDetails1,
459 resourceDetails.getUniqueId());
460 assertTrue("add HEAT artifact to resource request returned status:" + response.getErrorCode(),
461 response.getErrorCode() == 200);
462 response = LifecycleRestUtils.certifyResource(resourceDetails);
463 assertEquals("Check response code after CERTIFY request", 200, response.getErrorCode().intValue());
465 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
467 resourceInstanceReqDetails.setComponentUid(resourceDetails.getUniqueId());
468 response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails, sdncDesignerDetails1,
470 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
472 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
475 protected Resource convertResourceGetResponseToJavaObject(ResourceReqDetails resourceDetails) throws IOException {
476 RestResponse response = ResourceRestUtils.getResource(resourceDetails, sdncDesignerDetails1);
477 assertEquals("Check response code after get resource", 200, response.getErrorCode().intValue());
478 return ResponseParser.convertResourceResponseToJavaObject(response.getResponse());