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