[SDC-29] rebase continue work to align source
[sdc.git] / test-apis-ci / src / main / java / org / openecomp / sdc / ci / tests / execute / resource / VFResourceInstanceNameCRUD.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.openecomp.sdc.ci.tests.execute.resource;
22
23 import static org.testng.AssertJUnit.assertEquals;
24 import static org.testng.AssertJUnit.assertTrue;
25
26 import java.io.IOException;
27 import java.util.ArrayList;
28 import java.util.Arrays;
29 import java.util.List;
30
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;
62
63 import com.google.gson.Gson;
64
65 import fj.data.Either;
66
67 public class VFResourceInstanceNameCRUD extends ComponentBaseTest {
68
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;
85
86         @Rule
87         public static TestName name = new TestName();
88
89         public VFResourceInstanceNameCRUD() {
90                 super(name, VFResourceInstanceNameCRUD.class.getName());
91         }
92
93         @BeforeMethod
94
95         public void init() throws Exception {
96
97                 // serviceDetails = ElementFactory.getDefaultService();
98                 // resourceDetailsVFC =
99                 // ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VFC.toString(),
100                 // "resourceVFC");
101                 // resourceDetailsVF =
102                 // ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF.toString(),
103                 // "resourceVF3");
104                 // resourceDetailsVL =
105                 // ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VL.toString(),
106                 // "resourceVL");
107                 // resourceDetailsCP =
108                 // ElementFactory.getDefaultResourceByType(ResourceTypeEnum.CP.toString(),
109                 // "resourceCP");
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());
115
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());
134
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);
142
143         }
144
145         @Test
146         public void addResourceInstanceToVF() throws Exception {
147
148                 createVFWithCertifiedResourceInstance(resourceDetailsCP, resourceInstanceReqDetailsCP);
149                 // validate RI name
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());
154                 }
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);
159
160         }
161
162         @Test
163         public void updateResourceInstanceName() throws Exception {
164
165                 // update resource instance name
166                 String resourceInstanceUpdatedName = "resource New 2";
167
168                 ResourceReqDetails updatedResourceDetailsVLC = changeResouceName(resourceDetailsVFC,
169                                 resourceInstanceUpdatedName);
170                 createVFWithCertifiedResourceInstance(updatedResourceDetailsVLC, resourceInstanceReqDetailsVFC);
171
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);
177
178                 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
179
180                 // validate RI name
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());
185                 }
186                 List<String> resourceInstanceExpectedListName = new ArrayList<String>();
187                 resourceInstanceExpectedListName.add(resourceInstanceUpdatedName);
188                 String message = "resource instance name";
189                 Utils.compareArrayLists(resourceInstanceListName, resourceInstanceExpectedListName, message);
190
191         }
192
193         @Test
194         public void updateResourceInstanceNameToNextGeneratedName() throws Exception {
195
196                 // update resource instance name
197                 String resourceInstanceUpdatedName = resourceInstanceReqDetailsCP.getName() + " 2";
198
199                 ResourceReqDetails updatedResourceDetailsVL = changeResouceName(resourceDetailsVL, resourceInstanceUpdatedName);
200                 createVFWithCertifiedResourceInstance(updatedResourceDetailsVL, resourceInstanceReqDetailsVL);
201                 resourceInstanceReqDetailsCP.setName(resourceInstanceUpdatedName);
202
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);
208
209                 // validate RI name
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());
214                 }
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);
220
221         }
222
223         @Test
224         public void normolizeUpdatedResourceInstanceName() throws Exception {
225
226                 String resourceInstanceUpdatedName = "resource   new -  .2";
227                 String normalizedName = "resourcenew2";
228
229                 ResourceReqDetails updatedResourceDetailsVL = changeResouceName(resourceDetailsVL, resourceInstanceUpdatedName);
230
231                 createVFWithCertifiedResourceInstance(updatedResourceDetailsVL, resourceInstanceReqDetailsVL);
232                 // update resource instance name
233                 resourceInstanceReqDetailsCP.setName(resourceInstanceUpdatedName);
234
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);
240
241                 // validate RI name
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());
246                 }
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);
252
253         }
254
255         @Test
256         public void updatedResourceInstanceNameToEmpty() throws Exception {
257
258                 createVFWithCertifiedResourceInstance(resourceDetailsVL, resourceInstanceReqDetailsVL);
259                 String resourceInstanceUpdatedName = "";
260                 String resourceInstancePreviousName = resourceDetailsCP.getName();
261
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);
267
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());
274                 // change request
275                 // ErrorInfo errorInfo =
276                 // Utils.parseYaml(ActionStatus.MISSING_COMPONENT_NAME.name());
277                 // utils.validateResponseCode(updateResourceInstanceResponse,
278                 // errorInfo.getCode(), "update resource instance");
279                 //
280                 // List<String> variables = Arrays.asList("Resource Instance");
281                 // ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_COMPONENT_NAME.name(),
282                 // variables, updateResourceInstanceResponse.getResponse());
283
284                 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
285
286                 // validate RI name
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());
291                 }
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);
297
298         }
299
300         @Test
301         public void updatedResourceNameLengthExceedMaximumCharacters() throws Exception {
302
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";
308                 }
309                 // ResourceReqDetails updatedResourceDetailsVL =
310                 // changeResouceName(resourceDetailsVL, resourceInstanceUpdatedName);
311
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);
318
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");
328
329                 List<String> variables = Arrays.asList("Resource Instance", "50");
330                 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_NAME_EXCEEDS_LIMIT.name(), variables,
331                                 updateResourceInstanceResponse.getResponse());
332
333                 resourceInstanceReqDetailsCP.setName(prevName);
334                 // validate RI name
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());
339                 }
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);
345
346         }
347
348         @Test
349         public void updatedResourceNameWithUnSupportedCharacters() throws Exception {
350
351                 createVFWithCertifiedResourceInstance(resourceDetailsVL, resourceInstanceReqDetailsVL);
352                 String resourceInstancePreviousName = resourceDetailsCP.getName();
353                 // update resource instance name
354                 String resourceInstanceUpdatedName = "a???<>";
355
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);
361
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");
370
371                 List<String> variables = Arrays.asList("Resource Instance");
372                 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_COMPONENT_NAME.name(), variables,
373                                 updateResourceInstanceResponse.getResponse());
374
375                 resourceInstanceReqDetailsCP.setName(prevValue);
376
377                 // validate RI name
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());
382                 }
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);
388
389         }
390
391         private static ResourceReqDetails changeResouceName(ResourceReqDetails resourceDet,
392                         String resourceInstanceUpdatedName) throws Exception {
393
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);
411
412                 return updatedResourceDetails;
413
414         }
415
416         // private Component changeResouceName(Resource resourceDet, String
417         // resourceInstanceUpdatedName) throws Exception{
418         //
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());
438         // response =
439         // LifecycleRestUtils.changeComponentState(updatedResourceDetails,
440         // defaultUser, LifeCycleStatesEnum.CHECKIN, "state changed");
441         // assertEquals("Check response code after updateresource name", 200,
442         // response.getErrorCode().intValue());
443         //
444         // return updatedResourceDetails;
445         //
446         // }
447
448         private void createVFWithCertifiedResourceInstance(ResourceReqDetails resourceDetails,
449                         ComponentInstanceReqDetails resourceInstanceReqDetails) throws Exception {
450
451                 RestResponse response = LifecycleRestUtils.changeResourceState(resourceDetails, sdncDesignerDetails1,
452                                 resourceDetails.getVersion(), LifeCycleStatesEnum.CHECKOUT);
453                 assertEquals("Check response code after CHECKOUT", 200, response.getErrorCode().intValue());
454
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());
464
465                 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
466
467                 resourceInstanceReqDetails.setComponentUid(resourceDetails.getUniqueId());
468                 response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails, sdncDesignerDetails1,
469                                 resourceVF);
470                 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
471
472                 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
473         }
474
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());
479         }
480
481 }