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.Test;
62 import com.google.gson.Gson;
64 import fj.data.Either;
66 public class VFResourceInstanceNameCRUD extends ComponentBaseTest {
68 protected static ServiceReqDetails serviceDetails;
69 protected static ResourceReqDetails resourceDetailsVFC;
70 protected static ResourceReqDetails resourceDetailsVL;
71 protected static ResourceReqDetails resourceDetailsVF;
72 protected static ResourceReqDetails resourceDetailsCP;
73 protected static ComponentInstanceReqDetails resourceInstanceReqDetailsVF;
74 protected static ComponentInstanceReqDetails resourceInstanceReqDetailsVFC;
75 protected static ComponentInstanceReqDetails resourceInstanceReqDetailsVL;
76 protected static ComponentInstanceReqDetails resourceInstanceReqDetailsCP;
77 protected static User sdncDesignerDetails1;
78 protected static User sdncTesterDeatails1;
79 protected static User sdncAdminDetails1;
80 protected static ArtifactReqDetails heatArtifactDetails;
81 protected static ArtifactReqDetails defaultArtifactDetails;
82 protected static int maxLength = 50;
83 protected static Resource resourceVF = null;
86 public static TestName name = new TestName();
88 public VFResourceInstanceNameCRUD() {
89 super(name, VFResourceInstanceNameCRUD.class.getName());
94 public void init() throws Exception {
96 // serviceDetails = ElementFactory.getDefaultService();
97 // resourceDetailsVFC =
98 // ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VFC.toString(),
100 // resourceDetailsVF =
101 // ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF.toString(),
103 // resourceDetailsVL =
104 // ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VL.toString(),
106 // resourceDetailsCP =
107 // ElementFactory.getDefaultResourceByType(ResourceTypeEnum.CP.toString(),
109 sdncDesignerDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
110 sdncTesterDeatails1 = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
111 sdncAdminDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
112 // heatArtifactDetails =
113 // ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType());
115 Either<Resource, RestResponse> resourceDetailsCP_01e = AtomicOperationUtils
116 .createResourceByType(ResourceTypeEnum.CP, UserRoleEnum.DESIGNER, true);
117 AtomicOperationUtils.changeComponentState(resourceDetailsCP_01e.left().value(), UserRoleEnum.DESIGNER,
118 LifeCycleStatesEnum.CHECKIN, true);
119 resourceDetailsCP = new ResourceReqDetails(resourceDetailsCP_01e.left().value());
120 Either<Resource, RestResponse> resourceDetailsVL_01e = AtomicOperationUtils
121 .createResourceByType(ResourceTypeEnum.VL, UserRoleEnum.DESIGNER, true);
122 AtomicOperationUtils.changeComponentState(resourceDetailsVL_01e.left().value(), UserRoleEnum.DESIGNER,
123 LifeCycleStatesEnum.CHECKIN, true);
124 resourceDetailsVL = new ResourceReqDetails(resourceDetailsVL_01e.left().value());
125 Either<Resource, RestResponse> resourceDetailsVF_01e = AtomicOperationUtils
126 .createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true);
127 resourceDetailsVF = new ResourceReqDetails(resourceDetailsVF_01e.left().value());
128 Either<Resource, RestResponse> resourceDetailsVFC_01e = AtomicOperationUtils
129 .createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true);
130 AtomicOperationUtils.changeComponentState(resourceDetailsVFC_01e.left().value(), UserRoleEnum.DESIGNER,
131 LifeCycleStatesEnum.CHECKIN, true);
132 resourceDetailsVFC = new ResourceReqDetails(resourceDetailsVFC_01e.left().value());
134 resourceInstanceReqDetailsVFC = ElementFactory.getDefaultComponentInstance("VFC", resourceDetailsVFC);
135 resourceInstanceReqDetailsVF = ElementFactory.getDefaultComponentInstance("VF", resourceDetailsVF);
136 resourceInstanceReqDetailsVL = ElementFactory.getDefaultComponentInstance("VL", resourceDetailsVL);
137 resourceInstanceReqDetailsCP = ElementFactory.getDefaultComponentInstance("CP", resourceDetailsCP);
138 sdncDesignerDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
139 sdncTesterDeatails1 = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
140 sdncAdminDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
145 public void addResourceInstanceToVF() throws Exception {
147 createVFWithCertifiedResourceInstance(resourceDetailsCP, resourceInstanceReqDetailsCP);
149 List<ComponentInstance> resourceInstances = resourceVF.getComponentInstances();
150 List<String> resourceInstanceListName = new ArrayList<String>();
151 for (int i = 0; i < resourceInstances.size(); i++) {
152 resourceInstanceListName.add(resourceInstances.get(i).getName());
154 List<String> resourceInstanceExpectedListName = new ArrayList<String>();
155 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsCP.getName() + " 1");
156 String message = "resource instance name";
157 Utils.compareArrayLists(resourceInstanceListName, resourceInstanceExpectedListName, message);
162 public void updateResourceInstanceName() throws Exception {
164 // update resource instance name
165 String resourceInstanceUpdatedName = "resource New 2";
167 ResourceReqDetails updatedResourceDetailsVLC = changeResouceName(resourceDetailsVFC,
168 resourceInstanceUpdatedName);
169 createVFWithCertifiedResourceInstance(updatedResourceDetailsVLC, resourceInstanceReqDetailsVFC);
171 resourceInstanceReqDetailsVFC.setName(resourceInstanceUpdatedName);
172 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
173 resourceInstanceReqDetailsVFC, sdncDesignerDetails1, resourceVF.getUniqueId(),
174 ComponentTypeEnum.RESOURCE);
175 assertTrue(updateResourceInstanceResponse.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS);
177 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
180 List<ComponentInstance> resourceInstances = resourceVF.getComponentInstances();
181 List<String> resourceInstanceListName = new ArrayList<String>();
182 for (int i = 0; i < resourceInstances.size(); i++) {
183 resourceInstanceListName.add(resourceInstances.get(i).getName());
185 List<String> resourceInstanceExpectedListName = new ArrayList<String>();
186 resourceInstanceExpectedListName.add(resourceInstanceUpdatedName);
187 String message = "resource instance name";
188 Utils.compareArrayLists(resourceInstanceListName, resourceInstanceExpectedListName, message);
193 public void updateResourceInstanceNameToNextGeneratedName() throws Exception {
195 // update resource instance name
196 String resourceInstanceUpdatedName = resourceInstanceReqDetailsCP.getName() + " 2";
198 ResourceReqDetails updatedResourceDetailsVL = changeResouceName(resourceDetailsVL, resourceInstanceUpdatedName);
199 createVFWithCertifiedResourceInstance(updatedResourceDetailsVL, resourceInstanceReqDetailsVL);
200 resourceInstanceReqDetailsCP.setName(resourceInstanceUpdatedName);
202 // add second resource instance
203 RestResponse response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetailsCP,
204 sdncDesignerDetails1, resourceVF);
205 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
206 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
209 List<ComponentInstance> resourceInstances = resourceVF.getComponentInstances();
210 List<String> resourceInstanceListName = new ArrayList<String>();
211 for (int i = 0; i < resourceInstances.size(); i++) {
212 resourceInstanceListName.add(resourceInstances.get(i).getName());
214 List<String> resourceInstanceExpectedListName = new ArrayList<String>();
215 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsVL.getName() + " 1");
216 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsCP.getName() + " 2");
217 String message = "resource instance name";
218 Utils.compareArrayLists(resourceInstanceListName, resourceInstanceExpectedListName, message);
223 public void normolizeUpdatedResourceInstanceName() throws Exception {
225 String resourceInstanceUpdatedName = "resource new - .2";
226 String normalizedName = "resourcenew2";
228 ResourceReqDetails updatedResourceDetailsVL = changeResouceName(resourceDetailsVL, resourceInstanceUpdatedName);
230 createVFWithCertifiedResourceInstance(updatedResourceDetailsVL, resourceInstanceReqDetailsVL);
231 // update resource instance name
232 resourceInstanceReqDetailsCP.setName(resourceInstanceUpdatedName);
234 // add second resource instance
235 RestResponse response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetailsCP,
236 sdncDesignerDetails1, resourceVF);
237 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
238 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
241 List<ComponentInstance> resourceInstances = resourceVF.getComponentInstances();
242 List<String> resourceInstanceListName = new ArrayList<String>();
243 for (int i = 0; i < resourceInstances.size(); i++) {
244 resourceInstanceListName.add(resourceInstances.get(i).getName());
246 List<String> resourceInstanceExpectedListName = new ArrayList<String>();
247 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsVL.getName() + " 1");
248 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsCP.getName() + " 2");
249 String message = "resource instance name";
250 Utils.compareArrayLists(resourceInstanceListName, resourceInstanceExpectedListName, message);
255 public void updatedResourceInstanceNameToEmpty() throws Exception {
257 createVFWithCertifiedResourceInstance(resourceDetailsVL, resourceInstanceReqDetailsVL);
258 String resourceInstanceUpdatedName = "";
259 String resourceInstancePreviousName = resourceDetailsCP.getName();
261 // add second resource instance
262 RestResponse response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetailsCP,
263 sdncDesignerDetails1, resourceVF);
264 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
265 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
267 resourceInstanceReqDetailsCP.setName(resourceInstanceUpdatedName);
268 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
269 resourceInstanceReqDetailsCP, sdncDesignerDetails1, resourceVF.getUniqueId(),
270 ComponentTypeEnum.RESOURCE);
271 assertEquals("Check response code after RI update request", 200,
272 updateResourceInstanceResponse.getErrorCode().intValue());
274 // ErrorInfo errorInfo =
275 // Utils.parseYaml(ActionStatus.MISSING_COMPONENT_NAME.name());
276 // utils.validateResponseCode(updateResourceInstanceResponse,
277 // errorInfo.getCode(), "update resource instance");
279 // List<String> variables = Arrays.asList("Resource Instance");
280 // ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_COMPONENT_NAME.name(),
281 // variables, updateResourceInstanceResponse.getResponse());
283 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
286 List<ComponentInstance> resourceInstances = resourceVF.getComponentInstances();
287 List<String> resourceInstanceListName = new ArrayList<String>();
288 for (int i = 0; i < resourceInstances.size(); i++) {
289 resourceInstanceListName.add(resourceInstances.get(i).getName());
291 List<String> resourceInstanceExpectedListName = new ArrayList<String>();
292 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsVL.getName() + " 1");
293 resourceInstanceExpectedListName.add(resourceInstancePreviousName + " 3");
294 String message = "resource instance name";
295 Utils.compareArrayLists(resourceInstanceListName, resourceInstanceExpectedListName, message);
300 public void updatedResourceNameLengthExceedMaximumCharacters() throws Exception {
302 String resourceInstancePreviousName = resourceDetailsCP.getName();
303 // update resource instance name
304 String resourceInstanceUpdatedName = "a";
305 for (int i = 0; i < maxLength; i++) {
306 resourceInstanceUpdatedName += "b";
308 // ResourceReqDetails updatedResourceDetailsVL =
309 // changeResouceName(resourceDetailsVL, resourceInstanceUpdatedName);
311 createVFWithCertifiedResourceInstance(resourceDetailsVL, resourceInstanceReqDetailsVL);
312 // add second resource instance
313 RestResponse response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetailsCP,
314 sdncDesignerDetails1, resourceVF);
315 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
316 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
318 String prevName = resourceInstanceReqDetailsCP.getName();
319 resourceInstanceReqDetailsCP.setName(resourceInstanceUpdatedName);
320 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
321 resourceInstanceReqDetailsCP, sdncDesignerDetails1, resourceVF.getUniqueId(),
322 ComponentTypeEnum.RESOURCE);
323 ErrorInfo errorInfo = ErrorValidationUtils
324 .parseErrorConfigYaml(ActionStatus.COMPONENT_NAME_EXCEEDS_LIMIT.name());
325 // utils.validateResponseCode(updateResourceInstanceResponse,
326 // errorInfo.getCode(), "update resource instance");
328 List<String> variables = Arrays.asList("Resource Instance", "50");
329 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_NAME_EXCEEDS_LIMIT.name(), variables,
330 updateResourceInstanceResponse.getResponse());
332 resourceInstanceReqDetailsCP.setName(prevName);
334 List<ComponentInstance> resourceInstances = resourceVF.getComponentInstances();
335 List<String> resourceInstanceListName = new ArrayList<String>();
336 for (int i = 0; i < resourceInstances.size(); i++) {
337 resourceInstanceListName.add(resourceInstances.get(i).getName());
339 List<String> resourceInstanceExpectedListName = new ArrayList<String>();
340 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsVL.getName() + " 1");
341 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsCP.getName() + " 2");
342 String message = "resource instance name";
343 Utils.compareArrayLists(resourceInstanceListName, resourceInstanceExpectedListName, message);
348 public void updatedResourceNameWithUnSupportedCharacters() throws Exception {
350 createVFWithCertifiedResourceInstance(resourceDetailsVL, resourceInstanceReqDetailsVL);
351 String resourceInstancePreviousName = resourceDetailsCP.getName();
352 // update resource instance name
353 String resourceInstanceUpdatedName = "a???<>";
355 // add second resource instance
356 RestResponse response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetailsCP,
357 sdncDesignerDetails1, resourceVF);
358 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
359 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
361 String prevValue = resourceInstanceReqDetailsCP.getName();
362 resourceInstanceReqDetailsCP.setName(resourceInstanceUpdatedName);
363 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
364 resourceInstanceReqDetailsCP, sdncDesignerDetails1, resourceVF.getUniqueId(),
365 ComponentTypeEnum.RESOURCE);
366 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_COMPONENT_NAME.name());
367 // ResourceRestUtils.validateResponseCode(updateResourceInstanceResponse,
368 // errorInfo.getCode(), "update resource instance");
370 List<String> variables = Arrays.asList("Resource Instance");
371 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_COMPONENT_NAME.name(), variables,
372 updateResourceInstanceResponse.getResponse());
374 resourceInstanceReqDetailsCP.setName(prevValue);
377 List<ComponentInstance> resourceInstances = resourceVF.getComponentInstances();
378 List<String> resourceInstanceListName = new ArrayList<String>();
379 for (int i = 0; i < resourceInstances.size(); i++) {
380 resourceInstanceListName.add(resourceInstances.get(i).getName());
382 List<String> resourceInstanceExpectedListName = new ArrayList<String>();
383 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsVL.getName() + " 1");
384 resourceInstanceExpectedListName.add(resourceInstanceReqDetailsCP.getName() + " 2");
385 String message = "resource instance name";
386 Utils.compareArrayLists(resourceInstanceListName, resourceInstanceExpectedListName, message);
390 private static ResourceReqDetails changeResouceName(ResourceReqDetails resourceDet,
391 String resourceInstanceUpdatedName) throws Exception {
393 ResourceReqDetails updatedResourceDetails = new ResourceReqDetails();
394 updatedResourceDetails = resourceDet;
395 updatedResourceDetails.setName(resourceInstanceUpdatedName);
396 List<String> tags = new ArrayList<String>();
397 tags.add(resourceInstanceUpdatedName);
398 updatedResourceDetails.setTags(tags);
399 Gson gson = new Gson();
400 String updatedResourceBodyJson = gson.toJson(updatedResourceDetails);
401 RestResponse response = LifecycleRestUtils.changeResourceState(resourceDet, sdncDesignerDetails1,
402 resourceDet.getVersion(), LifeCycleStatesEnum.CHECKOUT);
403 assertTrue("change LS state to CHECKOUT, returned status:" + response.getErrorCode(),
404 response.getErrorCode() == 200);
405 response = ResourceRestUtils.updateResourceMetadata(updatedResourceBodyJson, sdncDesignerDetails1,
406 updatedResourceDetails.getUniqueId());
407 assertEquals("Check response code after updateresource name", 200, response.getErrorCode().intValue());
408 response = LifecycleRestUtils.changeResourceState(updatedResourceDetails, sdncDesignerDetails1,
409 resourceDet.getVersion(), LifeCycleStatesEnum.CHECKIN);
411 return updatedResourceDetails;
415 // private Component changeResouceName(Resource resourceDet, String
416 // resourceInstanceUpdatedName) throws Exception{
418 // User defaultUser = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
419 // Resource updatedResourceDetails = resourceDet;
420 // RestResponse response =
421 // LifecycleRestUtils.changeComponentState(updatedResourceDetails,
422 // defaultUser, LifeCycleStatesEnum.CHECKOUT, "state changed");
423 // assertTrue("change LS state to CHECKOUT, returned status:" +
424 // response.getErrorCode(),response.getErrorCode() == 200);
425 // updatedResourceDetails.setName(resourceInstanceUpdatedName);
426 // List<String> tags = new ArrayList<String>();
427 // tags.add(resourceInstanceUpdatedName);
428 // updatedResourceDetails.setTags(tags);
429 // Gson gson = new Gson();
430 // ResourceReqDetails resourceReqDetails = new
431 // ResourceReqDetails(updatedResourceDetails);
432 // String updatedResourceBodyJson = gson.toJson(resourceReqDetails);
433 // response = ResourceRestUtils.updateResource(updatedResourceBodyJson,
434 // defaultUser, updatedResourceDetails.getUniqueId());
435 // assertEquals("Check response code after updateresource name", 200,
436 // response.getErrorCode().intValue());
438 // LifecycleRestUtils.changeComponentState(updatedResourceDetails,
439 // defaultUser, LifeCycleStatesEnum.CHECKIN, "state changed");
440 // assertEquals("Check response code after updateresource name", 200,
441 // response.getErrorCode().intValue());
443 // return updatedResourceDetails;
447 private void createVFWithCertifiedResourceInstance(ResourceReqDetails resourceDetails,
448 ComponentInstanceReqDetails resourceInstanceReqDetails) throws Exception {
450 RestResponse response = LifecycleRestUtils.changeResourceState(resourceDetails, sdncDesignerDetails1,
451 resourceDetails.getVersion(), LifeCycleStatesEnum.CHECKOUT);
452 assertEquals("Check response code after CHECKOUT", 200, response.getErrorCode().intValue());
454 // add heat artifact to resource and certify
455 ArtifactReqDetails heatArtifactDetails = ElementFactory
456 .getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType());
457 response = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails, sdncDesignerDetails1,
458 resourceDetails.getUniqueId());
459 assertTrue("add HEAT artifact to resource request returned status:" + response.getErrorCode(),
460 response.getErrorCode() == 200);
461 response = LifecycleRestUtils.certifyResource(resourceDetails);
462 assertEquals("Check response code after CERTIFY request", 200, response.getErrorCode().intValue());
464 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
466 resourceInstanceReqDetails.setComponentUid(resourceDetails.getUniqueId());
467 response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails, sdncDesignerDetails1,
469 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
471 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
474 protected Resource convertResourceGetResponseToJavaObject(ResourceReqDetails resourceDetails) throws IOException {
475 RestResponse response = ResourceRestUtils.getResource(resourceDetails, sdncDesignerDetails1);
476 assertEquals("Check response code after get resource", 200, response.getErrorCode().intValue());
477 return ResponseParser.convertResourceResponseToJavaObject(response.getResponse());