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 org.junit.Rule;
24 import org.junit.rules.TestName;
25 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
26 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
27 import org.openecomp.sdc.be.model.*;
28 import org.openecomp.sdc.ci.tests.api.ComponentInstanceBaseTest;
29 import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails;
30 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
31 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
32 import org.openecomp.sdc.ci.tests.datatypes.enums.NormativeTypesEnum;
33 import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum;
34 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
35 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
36 import org.openecomp.sdc.ci.tests.utils.rest.*;
37 import org.testng.AssertJUnit;
38 import org.testng.annotations.BeforeMethod;
39 import org.testng.annotations.Test;
41 import java.io.IOException;
42 import java.util.ArrayList;
43 import java.util.List;
45 import static org.junit.Assert.assertTrue;
46 import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.*;
48 public class VfComponentInstanceCRUDTest extends ComponentInstanceBaseTest {
51 public static TestName name = new TestName();
53 public VfComponentInstanceCRUDTest() {
54 super(name, VfComponentInstanceCRUDTest.class.getName());
58 public void before() throws Exception {
64 private void createComponents() throws Exception {
65 createAtomicResource(resourceDetailsVFC_01);
66 LifecycleRestUtils.changeResourceState(resourceDetailsVFC_01, sdncAdminDetails, "0.1",
67 LifeCycleStatesEnum.CHECKIN);
68 createAtomicResource(resourceDetailsVFC_02);
69 LifecycleRestUtils.changeResourceState(resourceDetailsVFC_02, sdncAdminDetails, "0.1",
70 LifeCycleStatesEnum.CHECKIN);
71 createAtomicResource(resourceDetailsCP_01);
72 LifecycleRestUtils.changeResourceState(resourceDetailsCP_01, sdncAdminDetails, "0.1",
73 LifeCycleStatesEnum.CHECKIN);
74 createAtomicResource(resourceDetailsCP_02);
75 LifecycleRestUtils.changeResourceState(resourceDetailsCP_02, sdncAdminDetails, "0.1",
76 LifeCycleStatesEnum.CHECKIN);
77 createAtomicResource(resourceDetailsVL_01);
78 LifecycleRestUtils.changeResourceState(resourceDetailsVL_01, sdncAdminDetails, "0.1",
79 LifeCycleStatesEnum.CHECKIN);
80 createAtomicResource(resourceDetailsVL_02);
81 LifecycleRestUtils.changeResourceState(resourceDetailsVL_02, sdncAdminDetails, "0.1",
82 LifeCycleStatesEnum.CHECKIN);
83 createVF(resourceDetailsVF_02);
87 public void createVfcInstanceByDesigner() throws Exception {
88 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
89 resourceDetailsVFC_01, sdncDesignerDetails);
90 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
91 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
94 @Test(enabled = false) // DE189419
95 public void createInstanceOfVfToItself() throws Exception {
96 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
97 resourceDetailsVL_01, sdncDesignerDetails);
98 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
99 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
100 .getComponentResourceInstance(resourceDetailsVF_02);
101 createAtomicResourceInstance = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails,
102 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
103 assertTrue(createAtomicResourceInstance.getErrorCode() == STATUS_CODE_NOT_FOUND);
104 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
108 public void createVfcInstanceByAdmin() throws Exception {
109 User user = sdncAdminDetails;
110 createVF(resourceDetailsVF_01, user);
111 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_01,
112 resourceDetailsVFC_01, user);
113 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
114 getComponentAndValidateRIs(resourceDetailsVF_01, 1, 0);
118 public void createCpInstance() throws Exception {
119 // Create CP instance
120 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
121 resourceDetailsCP_01, sdncDesignerDetails);
122 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
123 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
127 public void createVlInstance() throws Exception {
128 // Create VL instance
129 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
130 resourceDetailsVL_01, sdncDesignerDetails);
131 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
132 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
136 public void updateResourceInstanceNameLessMaxLegth() throws Exception {
137 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
138 .getComponentResourceInstance(resourceDetailsCP_01);
139 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
140 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
141 ComponentTypeEnum.RESOURCE);
142 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
143 ComponentInstance componentInstance = ResponseParser
144 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
145 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
146 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
147 vfcResourceInstanceReqDetails.setName("xxxxXthisXstringxisx49XcharcatersXlengthXxxxxxxxx");
148 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
149 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
150 ComponentTypeEnum.RESOURCE);
151 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
156 public void updateInstanceNameExceedMaxLegth() throws Exception {
157 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
158 .getComponentResourceInstance(resourceDetailsCP_01);
159 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
160 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
161 ComponentTypeEnum.RESOURCE);
162 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
163 ComponentInstance componentInstance = ResponseParser
164 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
165 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
166 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
167 vfcResourceInstanceReqDetails.setName("xxxxXthisXstringxisx51XcharcatersXlengthXxxxxxxxxxx");
168 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
169 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
170 ComponentTypeEnum.RESOURCE);
171 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_COMPONENT_NAME_EXCEEDS_LIMIT,
172 updateResourceInstanceResponse.getErrorCode().intValue());
176 public void updateResourceInstanceNameHasMaxLegth() throws Exception {
177 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
178 .getComponentResourceInstance(resourceDetailsCP_01);
179 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
180 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
181 ComponentTypeEnum.RESOURCE);
182 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
183 ComponentInstance componentInstance = ResponseParser
184 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
185 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
186 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
187 vfcResourceInstanceReqDetails.setName("xxxxXthisXstringxisx50XcharcatersXlengthXxxxxxxxxx");
188 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
189 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
190 ComponentTypeEnum.RESOURCE);
191 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
195 public void resourceInstanceNameIsEmpty() throws Exception {
196 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
197 .getComponentResourceInstance(resourceDetailsVFC_01);
198 resourceInstanceReqDetails.setName("");
199 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
200 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
201 ComponentTypeEnum.RESOURCE);
202 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
203 ComponentInstance componentInstance = ResponseParser
204 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
205 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
206 String instanceNormalizedName = ResponseParser
207 .getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "normalizedName");
208 String instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
210 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
211 (resourceDetailsVFC_01.getName() + "1").toLowerCase(), instanceNormalizedName);
212 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 1"),
217 public void resourceInstanceNameIsNull() throws Exception {
218 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
219 .getComponentResourceInstance(resourceDetailsVFC_01);
220 resourceInstanceReqDetails.setName(null);
221 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
222 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
223 ComponentTypeEnum.RESOURCE);
224 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
225 ComponentInstance componentInstance = ResponseParser
226 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
227 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
228 String instanceNormalizedName = ResponseParser
229 .getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "normalizedName");
230 String instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
232 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
233 (resourceDetailsVFC_01.getName() + "1").toLowerCase(), instanceNormalizedName);
234 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 1"),
239 public void resourceInstanceNameValidation01() throws Exception {
241 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
242 .getComponentResourceInstance(resourceDetailsVFC_01);
243 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
244 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
245 ComponentTypeEnum.RESOURCE);
246 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
247 String instanceNormalizedName = ResponseParser
248 .getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "normalizedName");
249 String instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
251 ComponentInstance componentInstance = ResponseParser
252 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
253 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
254 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
255 (resourceDetailsVFC_01.getName() + "1").toLowerCase(), instanceNormalizedName);
256 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 1"),
258 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails,
259 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
260 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
261 instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
263 instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "name");
264 componentInstance = ResponseParser.parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(),
265 ComponentInstance.class);
266 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
267 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
268 (resourceDetailsVFC_01.getName() + "2").toLowerCase(), instanceNormalizedName);
269 AssertJUnit.assertEquals("check Resource Instance normalizedName ", (resourceDetailsVFC_01.getName() + " 2"),
271 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
275 public void resourceInstanceNameValidation02() throws Exception {
278 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
279 .getComponentResourceInstance(resourceDetailsVFC_01);
280 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
281 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
282 ComponentTypeEnum.RESOURCE);
283 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
284 String instanceNormalizedName = ResponseParser
285 .getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "normalizedName");
286 String instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
288 ComponentInstance componentInstance = ResponseParser
289 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
290 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
291 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
292 (resourceDetailsVFC_01.getName() + "1").toLowerCase(), instanceNormalizedName);
293 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 1"),
295 resourceInstanceReqDetails = ElementFactory.getComponentResourceInstance(resourceDetailsCP_01);
296 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails,
297 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
298 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
299 instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
301 instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "name");
302 componentInstance = ResponseParser.parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(),
303 ComponentInstance.class);
304 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
305 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
306 (resourceDetailsCP_01.getName() + "2").toLowerCase(), instanceNormalizedName);
307 AssertJUnit.assertEquals("check Resource Instance normalizedName ", (resourceDetailsCP_01.getName() + " 2"),
309 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
313 public void createVfcInstanceByTester() throws Exception { // Response 409
315 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
316 .getComponentResourceInstance(resourceDetailsVFC_01);
317 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
318 resourceInstanceReqDetails, sdncTesterDetails, resourceDetailsVF_02.getUniqueId(),
319 ComponentTypeEnum.RESOURCE);
320 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
321 createResourceInstanceResponse.getErrorCode().intValue());
322 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
326 public void createVfcInstance_UserIdIsEmpty() throws Exception {
328 User sdncUserDetails = new User();
329 sdncUserDetails.setUserId("");
330 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
331 .getComponentResourceInstance(resourceDetailsVFC_01);
332 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
333 resourceInstanceReqDetails, sdncUserDetails, resourceDetailsVF_02.getUniqueId(),
334 ComponentTypeEnum.RESOURCE);
335 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
336 createResourceInstanceResponse.getErrorCode().intValue());
337 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
341 public void createVfcInstance_UserIdIsNonAsdcUser() throws Exception {
343 User sdncUserDetails = new User();
344 sdncUserDetails.setUserId("bt4567");
345 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
346 .getComponentResourceInstance(resourceDetailsVFC_01);
347 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
348 resourceInstanceReqDetails, sdncUserDetails, resourceDetailsVF_02.getUniqueId(),
349 ComponentTypeEnum.RESOURCE);
350 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
351 createResourceInstanceResponse.getErrorCode().intValue());
352 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
356 public void createAllAtomicInstances() throws Exception {
358 // Add to VF resource VFC, CP and VL instances
359 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
360 resourceDetailsVL_01, sdncDesignerDetails);
361 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
362 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCP_01,
363 sdncDesignerDetails);
364 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
365 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_01,
366 sdncDesignerDetails);
367 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
368 getComponentAndValidateRIs(resourceDetailsVF_02, 3, 0);
372 public void createDefferentVfcInstances() throws Exception {
374 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
375 resourceDetailsVFC_01, sdncDesignerDetails);
376 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
377 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_02,
378 sdncDesignerDetails);
379 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
380 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
384 public void createDefferentCpInstances() throws Exception {
386 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
387 resourceDetailsCP_01, sdncDesignerDetails);
388 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
389 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCP_02,
390 sdncDesignerDetails);
391 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
392 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
396 public void createDefferentVLInstances() throws Exception {
398 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
399 resourceDetailsVL_01, sdncDesignerDetails);
400 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
401 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVL_02,
402 sdncDesignerDetails);
403 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
404 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
408 public void createSeveralInstanceOfSameVFC() throws Exception {
410 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
411 resourceDetailsVFC_01, sdncDesignerDetails);
412 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
413 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_01,
414 sdncDesignerDetails);
415 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
416 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
420 public void createSeveralInstanceOfSameVL() throws Exception {
422 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
423 resourceDetailsVL_01, sdncDesignerDetails);
424 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
425 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVL_01,
426 sdncDesignerDetails);
427 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
428 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
432 public void createSeveralInstanceOfSameCP() throws Exception {
434 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
435 resourceDetailsCP_01, sdncDesignerDetails);
436 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
437 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCP_01,
438 sdncDesignerDetails);
439 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
440 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
444 public void createInstanceOfCpToVfc() throws Exception { // Add to CP to VFC
447 ComponentInstanceReqDetails resourceInstanceReqDetailsCP = ElementFactory
448 .getComponentResourceInstance(resourceDetailsCP_01);
449 ComponentInstanceReqDetails resourceInstanceReqDetailsVFC = ElementFactory
450 .getComponentResourceInstance(resourceDetailsVFC_01);
451 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
452 resourceInstanceReqDetailsCP, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
453 ComponentTypeEnum.RESOURCE);
454 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
455 ComponentInstance componentInstance = ResponseParser
456 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
457 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
458 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
459 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
460 resourceInstanceReqDetailsCP, sdncDesignerDetails, resourceInstanceReqDetailsVFC.getUniqueId(),
461 ComponentTypeEnum.RESOURCE);
462 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
463 createResourceInstanceResponse.getErrorCode().intValue());
464 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
468 public void createInstanceVfcToCp() throws Exception { // (not allowed)
470 ComponentInstanceReqDetails resourceInstanceReqDetailsCP = ElementFactory
471 .getComponentResourceInstance(resourceDetailsCP_01);
472 ComponentInstanceReqDetails resourceInstanceReqDetailsVFC = ElementFactory
473 .getComponentResourceInstance(resourceDetailsVFC_01);
474 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
475 resourceInstanceReqDetailsCP, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
476 ComponentTypeEnum.RESOURCE);
477 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
478 ComponentInstance componentInstance = ResponseParser
479 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
480 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
481 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
482 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
483 resourceInstanceReqDetailsVFC, sdncDesignerDetails, resourceInstanceReqDetailsCP.getUniqueId(),
484 ComponentTypeEnum.RESOURCE);
485 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
486 createResourceInstanceResponse.getErrorCode().intValue());
487 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
491 public void createInstanceVlToVfc() throws Exception {
493 ComponentInstanceReqDetails resourceInstanceReqDetailsVL = ElementFactory
494 .getComponentResourceInstance(resourceDetailsVL_01);
495 ComponentInstanceReqDetails resourceInstanceReqDetailsVFC = ElementFactory
496 .getComponentResourceInstance(resourceDetailsVFC_01);
497 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
498 resourceInstanceReqDetailsVFC, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
499 ComponentTypeEnum.RESOURCE);
500 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
501 ComponentInstance componentInstance = ResponseParser
502 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
503 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
504 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
505 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
506 resourceInstanceReqDetailsVL, sdncDesignerDetails, resourceInstanceReqDetailsVFC.getUniqueId(),
507 ComponentTypeEnum.RESOURCE);
508 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
509 createResourceInstanceResponse.getErrorCode().intValue());
510 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
514 public void createInstanceToNonSupportedComponentType() throws Exception {
516 ComponentInstanceReqDetails resourceInstanceReqDetailsCP = ElementFactory
517 .getComponentResourceInstance(resourceDetailsCP_01);
518 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
519 resourceInstanceReqDetailsCP, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
520 ComponentTypeEnum.RESOURCE_INSTANCE);
521 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_INVALID_CONTENT,
522 createResourceInstanceResponse.getErrorCode().intValue());
523 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
526 // ("Create instance without position is allowed")
528 public void createInstanceOfVlWithoutPosXAndPosY() throws Exception { // instance
534 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
535 .getComponentResourceInstance(resourceDetailsVL_01);
536 resourceInstanceReqDetails.setPosX("");
537 resourceInstanceReqDetails.setPosY("");
538 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
539 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
540 ComponentTypeEnum.RESOURCE);
541 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
542 ComponentInstance componentInstance = ResponseParser
543 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
544 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
545 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
548 // Create instance without position is allowed")
550 public void createInstanceOfVlWithPositionNull() throws Exception { // instance
556 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
557 .getComponentResourceInstance(resourceDetailsVL_01);
558 resourceInstanceReqDetails.setPosX(null);
559 resourceInstanceReqDetails.setPosY(null);
560 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
561 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
562 ComponentTypeEnum.RESOURCE);
563 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
564 ComponentInstance componentInstance = ResponseParser
565 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
566 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
567 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
571 public void createResourceInstanceForNonCheckedOutVF() throws Exception {
573 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncAdminDetails,
574 "0.1", LifeCycleStatesEnum.CHECKIN);
575 resourceDetailsVF_02.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
576 AssertJUnit.assertEquals("Check response code after create user", STATUS_CODE_SUCCESS,
577 checkInResponse.getErrorCode().intValue());
578 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
579 .getComponentResourceInstance(resourceDetailsVFC_01);
580 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
581 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
582 ComponentTypeEnum.RESOURCE);
583 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
584 createResourceInstanceResponse.getErrorCode().intValue());
588 public void createResourceInstanceVfCheckedOutByOtherUser() throws Exception {
590 // Admin try to add RI to VF which is checked-Out By Designer
591 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
592 .getComponentResourceInstance(resourceDetailsVFC_01);
593 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
594 resourceInstanceReqDetails, sdncAdminDetails, resourceDetailsVF_02.getUniqueId(),
595 ComponentTypeEnum.RESOURCE);
596 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
597 createResourceInstanceResponse.getErrorCode().intValue());
598 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
602 public void createResourceInstanceForNonExistingVF() throws Exception {
604 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
605 .getComponentResourceInstance(resourceDetailsVFC_01);
606 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
607 resourceInstanceReqDetails, sdncDesignerDetails, "blablabla", ComponentTypeEnum.RESOURCE);
608 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
609 createResourceInstanceResponse.getErrorCode().intValue());
610 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
615 public void deleteVfcInstanceByDesigner() throws Exception {
618 RestResponse createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_02,
619 resourceDetailsVFC_01, sdncDesignerDetails);
620 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
621 String compInstId = ResponseParser.getUniqueIdFromResponse(createResourceInstanceResponse);
622 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
623 // Delete Resource instance
624 RestResponse deleteResourceInstanceResponse = deleteAtomicInstanceForVF(compInstId, resourceDetailsVF_02,
625 sdncDesignerDetails);
626 ResourceRestUtils.checkDeleteResponse(deleteResourceInstanceResponse);
627 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
631 public void deleteVfcInstanceByAdmin() throws Exception {
632 createVF(resourceDetailsVF_01, sdncAdminDetails);
633 RestResponse createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_01,
634 resourceDetailsVL_01, sdncAdminDetails);
635 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
636 String compInstId = ResponseParser.getUniqueIdFromResponse(createResourceInstanceResponse);
637 getComponentAndValidateRIs(resourceDetailsVF_01, 1, 0);
638 // Delete Resource instance
639 RestResponse deleteResourceInstanceResponse = deleteAtomicInstanceForVF(compInstId, resourceDetailsVF_01,
641 ResourceRestUtils.checkDeleteResponse(deleteResourceInstanceResponse);
642 getComponentAndValidateRIs(resourceDetailsVF_01, 0, 0);
646 public void deleteCpInstance() throws Exception {
648 RestResponse createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_02,
649 resourceDetailsCP_01, sdncDesignerDetails);
650 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
651 String compInstId = ResponseParser.getUniqueIdFromResponse(createResourceInstanceResponse);
652 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
653 // Delete Resource instance
654 RestResponse deleteResourceInstanceResponse = deleteAtomicInstanceForVF(compInstId, resourceDetailsVF_02,
655 sdncDesignerDetails);
656 ResourceRestUtils.checkDeleteResponse(deleteResourceInstanceResponse);
657 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
661 public void deleteVlInstance() throws Exception {
663 RestResponse createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_02,
664 resourceDetailsVL_01, sdncDesignerDetails);
665 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
666 String compInstId = ResponseParser.getUniqueIdFromResponse(createResourceInstanceResponse);
667 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
668 // Delete Resource instance
669 RestResponse deleteResourceInstanceResponse = deleteAtomicInstanceForVF(compInstId, resourceDetailsVF_02,
670 sdncDesignerDetails);
671 ResourceRestUtils.checkDeleteResponse(deleteResourceInstanceResponse);
672 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
676 public void deleteOneVlInstance() throws Exception {
679 RestResponse createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_02,
680 resourceDetailsVL_01, sdncDesignerDetails);
681 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
682 String compInstId = ResponseParser.getUniqueIdFromResponse(createResourceInstanceResponse);
683 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
685 createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVL_01,
686 sdncDesignerDetails);
687 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
688 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
689 // Delete Resource instance RI-1
690 RestResponse deleteResourceInstanceResponse = deleteAtomicInstanceForVF(compInstId, resourceDetailsVF_02,
691 sdncDesignerDetails);
692 ResourceRestUtils.checkDeleteResponse(deleteResourceInstanceResponse);
693 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
697 public void deleteVfcInstanceCheckedByOtherUser() throws Exception {
699 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
700 .getComponentResourceInstance(resourceDetailsVL_01);
701 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
702 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
703 ComponentTypeEnum.RESOURCE);
704 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
705 ComponentInstance componentInstance = ResponseParser
706 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
707 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
708 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
709 // Delete Resource instance
710 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
711 sdncTesterDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
712 ComponentTypeEnum.RESOURCE);
713 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
714 deleteResourceInstanceResponse.getErrorCode().intValue());
715 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
719 public void deleteInstanceNonSupportedComponentType() throws Exception {
721 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
722 .getComponentResourceInstance(resourceDetailsVL_01);
723 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
724 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
725 ComponentTypeEnum.RESOURCE);
726 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
727 ComponentInstance componentInstance = ResponseParser
728 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
729 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
730 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
731 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
732 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
733 ComponentTypeEnum.RESOURCE_INSTANCE);
734 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_INVALID_CONTENT,
735 deleteResourceInstanceResponse.getErrorCode().intValue());
736 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
740 public void deleteInstanceFromNonVF() throws Exception {
743 ComponentInstanceReqDetails resourceInstanceVlReqDetails = ElementFactory
744 .getComponentResourceInstance(resourceDetailsVL_01);
745 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
746 resourceInstanceVlReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
747 ComponentTypeEnum.RESOURCE);
748 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
749 ComponentInstance componentInstance1 = ResponseParser
750 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
751 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
753 ComponentInstanceReqDetails resourceInstanceCplReqDetails = ElementFactory
754 .getComponentResourceInstance(resourceDetailsCP_01);
755 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
756 resourceInstanceCplReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
757 ComponentTypeEnum.RESOURCE);
758 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
759 ComponentInstance componentInstance2 = ResponseParser
760 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
761 addCompInstReqCapToExpected(componentInstance2, ComponentTypeEnum.RESOURCE);
762 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
763 // Delete VL instance from CP instance
764 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
765 sdncDesignerDetails, resourceInstanceCplReqDetails.getUniqueId(),
766 resourceInstanceVlReqDetails.getUniqueId(), ComponentTypeEnum.RESOURCE);
767 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
768 deleteResourceInstanceResponse.getErrorCode().intValue());
769 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
773 public void deleteNonExistingInstanceFromVF() throws Exception {
775 ComponentInstanceReqDetails resourceInstanceVlReqDetails = ElementFactory
776 .getComponentResourceInstance(resourceDetailsVL_01);
777 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
778 resourceInstanceVlReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
779 ComponentTypeEnum.RESOURCE);
780 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
781 ComponentInstance componentInstance1 = ResponseParser
782 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
783 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
784 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
785 resourceInstanceVlReqDetails.setUniqueId("1234567890");
786 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
787 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceVlReqDetails.getUniqueId(),
788 ComponentTypeEnum.RESOURCE);
789 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
790 deleteResourceInstanceResponse.getErrorCode().intValue());
791 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
795 public void deleteCpInstanceFromNonCheckOutVF() throws Exception {
797 ComponentInstanceReqDetails resourceInstanceCpReqDetails = ElementFactory
798 .getComponentResourceInstance(resourceDetailsCP_01);
799 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
800 resourceInstanceCpReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
801 ComponentTypeEnum.RESOURCE);
802 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
803 ComponentInstance componentInstance1 = ResponseParser
804 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
805 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
806 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
807 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncDesignerDetails,
808 "0.1", LifeCycleStatesEnum.CHECKIN);
809 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
810 checkInResponse.getErrorCode().intValue());
811 resourceDetailsVF_02.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
812 // Delete Resource instance
813 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
814 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceCpReqDetails.getUniqueId(),
815 ComponentTypeEnum.RESOURCE);
816 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
817 deleteResourceInstanceResponse.getErrorCode().intValue());
818 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
822 public void deleteVlInstanceFromNonCheckOutVF() throws Exception {
824 ComponentInstanceReqDetails resourceInstanceVlReqDetails = ElementFactory
825 .getComponentResourceInstance(resourceDetailsVL_01);
826 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
827 resourceInstanceVlReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
828 ComponentTypeEnum.RESOURCE);
829 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
830 ComponentInstance componentInstance1 = ResponseParser
831 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
832 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
833 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
834 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncDesignerDetails,
835 "0.1", LifeCycleStatesEnum.CHECKIN);
836 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
837 checkInResponse.getErrorCode().intValue());
838 resourceDetailsVF_02.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
839 // Delete Resource instance
840 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
841 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceVlReqDetails.getUniqueId(),
842 ComponentTypeEnum.RESOURCE);
843 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
844 deleteResourceInstanceResponse.getErrorCode().intValue());
845 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
849 public void deleteVfcInstanceFromNonCheckOutVF() throws Exception {
851 ComponentInstanceReqDetails resourceInstanceVfcReqDetails = ElementFactory
852 .getComponentResourceInstance(resourceDetailsVFC_01);
853 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
854 resourceInstanceVfcReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
855 ComponentTypeEnum.RESOURCE);
856 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
857 ComponentInstance componentInstance1 = ResponseParser
858 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
859 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
860 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
861 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncDesignerDetails,
862 "0.1", LifeCycleStatesEnum.CHECKIN);
863 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
864 checkInResponse.getErrorCode().intValue());
865 resourceDetailsVF_02.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
866 // Delete Resource instance
867 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
868 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceVfcReqDetails.getUniqueId(),
869 ComponentTypeEnum.RESOURCE);
870 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
871 deleteResourceInstanceResponse.getErrorCode().intValue());
872 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
876 public void deleteVlInstance_UserIdIsNonAsdcUser() throws Exception {
878 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
879 .getComponentResourceInstance(resourceDetailsVL_01);
880 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
881 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
882 ComponentTypeEnum.RESOURCE);
883 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
884 ComponentInstance componentInstance = ResponseParser
885 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
886 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
887 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
888 // Delete Resource instance by non-ASDC User
889 User sdncUserDetails = new User();
890 sdncUserDetails.setUserId("bt4567");
891 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
892 sdncUserDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
893 ComponentTypeEnum.RESOURCE);
894 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
895 deleteResourceInstanceResponse.getErrorCode().intValue());
896 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
900 public void deleteAlreadyDeletedInstance() throws Exception {
902 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
903 .getComponentResourceInstance(resourceDetailsVL_01);
904 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
905 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
906 ComponentTypeEnum.RESOURCE);
907 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
908 ComponentInstance componentInstance = ResponseParser
909 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
910 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
911 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
912 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
913 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
914 ComponentTypeEnum.RESOURCE);
915 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_DELETE,
916 deleteResourceInstanceResponse.getErrorCode().intValue());
917 deleteCompInstReqCapFromExpected(componentInstance.getUniqueId());
918 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
919 deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(sdncDesignerDetails,
920 resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
921 ComponentTypeEnum.RESOURCE);
922 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
923 deleteResourceInstanceResponse.getErrorCode().intValue());
927 public void reCreateDeletedInstance() throws Exception {
930 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
931 .getComponentResourceInstance(resourceDetailsVFC_01);
932 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
933 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
934 ComponentTypeEnum.RESOURCE);
935 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
936 String instanceNormalizedName = ResponseParser
937 .getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "normalizedName");
938 String instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
940 ComponentInstance componentInstance = ResponseParser
941 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
942 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
943 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
944 (resourceDetailsVFC_01.getName() + "1").toLowerCase(), instanceNormalizedName);
945 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 1"),
947 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails,
948 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
949 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
950 instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
952 instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "name");
953 componentInstance = ResponseParser.parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(),
954 ComponentInstance.class);
955 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
956 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
957 (resourceDetailsVFC_01.getName() + "2").toLowerCase(), instanceNormalizedName);
958 AssertJUnit.assertEquals("check Resource Instance normalizedName ", (resourceDetailsVFC_01.getName() + " 2"),
960 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
961 // Delete one instance
962 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
963 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
964 ComponentTypeEnum.RESOURCE);
965 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_DELETE,
966 deleteResourceInstanceResponse.getErrorCode().intValue());
967 deleteCompInstReqCapFromExpected(componentInstance.getUniqueId());
968 // Create same instance again
969 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails,
970 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
971 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
972 instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
974 instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "name");
975 componentInstance = ResponseParser.parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(),
976 ComponentInstance.class);
977 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
978 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
979 (resourceDetailsVFC_01.getName() + "3").toLowerCase(), instanceNormalizedName);
980 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 3"),
987 public void updateVfcInstanceNameByDesigner() throws Exception {
989 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
990 .getComponentResourceInstance(resourceDetailsVFC_01);
991 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
992 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
993 ComponentTypeEnum.RESOURCE);
994 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
995 ComponentInstance componentInstance = ResponseParser
996 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
997 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
998 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
999 vfcResourceInstanceReqDetails.setName("abcd");
1000 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1001 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1002 ComponentTypeEnum.RESOURCE);
1003 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1004 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1005 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1006 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1008 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1009 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName, "abcd");
1010 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, "abcd");
1014 public void updateVfcInstanceNameByAdmin() throws Exception {
1015 User user = sdncAdminDetails;
1016 createVF(resourceDetailsVF_01, user);
1017 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1018 .getComponentResourceInstance(resourceDetailsVFC_01);
1019 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1020 vfcResourceInstanceReqDetails, sdncAdminDetails, resourceDetailsVF_01.getUniqueId(),
1021 ComponentTypeEnum.RESOURCE);
1022 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1023 ComponentInstance componentInstance = ResponseParser
1024 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1025 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1026 getComponentAndValidateRIs(resourceDetailsVF_01, 1, 0);
1027 vfcResourceInstanceReqDetails.setName("ABCD E");
1028 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1029 vfcResourceInstanceReqDetails, sdncAdminDetails, resourceDetailsVF_01.getUniqueId(),
1030 ComponentTypeEnum.RESOURCE);
1031 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1032 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1033 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1034 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1036 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1037 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName, "abcde");
1038 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, "ABCD E");
1042 public void updateInstanceNameAllowedCharacters() throws Exception {
1043 // Allowed characters: Alphanumeric (a-zA-Z0-9), space (' '), underscore
1044 // ('_'), dash ('-'), dot ('.'))
1046 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1047 .getComponentResourceInstance(resourceDetailsVFC_01);
1048 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1049 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1050 ComponentTypeEnum.RESOURCE);
1051 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1052 ComponentInstance componentInstance = ResponseParser
1053 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1054 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1055 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1056 vfcResourceInstanceReqDetails.setName("Abcd_1234567890-qwert-yuiop.zxcvb");
1057 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1058 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1059 ComponentTypeEnum.RESOURCE);
1060 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1061 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1062 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1063 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1065 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1066 // assertEquals("Check if RI normalizedName is correct ",
1067 // riNormalizedName, "abcd_1234567890-qwert-yuiop.zxcv" );
1068 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, "Abcd_1234567890-qwert-yuiop.zxcvb");
1069 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName,
1070 "abcd1234567890qwertyuiopzxcvb");
1075 public void updateVfcInstanceNameEmpty() throws Exception {
1076 // see US534663 In case a designer removes the current resource instance
1077 // name then BE has to generate again the "default" resource instance
1080 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1081 .getComponentResourceInstance(resourceDetailsVFC_01);
1082 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1083 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1084 ComponentTypeEnum.RESOURCE);
1085 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1086 ComponentInstance componentInstance = ResponseParser
1087 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1088 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1089 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1090 String newName = "";
1091 vfcResourceInstanceReqDetails.setName(newName);
1092 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1093 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1094 ComponentTypeEnum.RESOURCE);
1095 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1096 String instanceNormalizedName = ResponseParser
1097 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "normalizedName");
1098 String instanceName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1100 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
1101 (resourceDetailsVFC_01.getName() + "2").toLowerCase(), instanceNormalizedName);
1102 AssertJUnit.assertEquals("check Resource Instance normalizedName ", (resourceDetailsVFC_01.getName() + " 2"),
1107 public void updateVfcInstanceNameNull() throws Exception {
1108 // see US534663 In case a designer removes the current resource instance
1109 // name then BE has to generate again the "default" resource instance
1112 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1113 .getComponentResourceInstance(resourceDetailsVFC_01);
1114 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1115 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1116 ComponentTypeEnum.RESOURCE);
1117 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1118 ComponentInstance componentInstance = ResponseParser
1119 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1120 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1121 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1122 String newName = null;
1123 vfcResourceInstanceReqDetails.setName(newName);
1124 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1125 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1126 ComponentTypeEnum.RESOURCE);
1127 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1128 final String updateResponse = updateResourceInstanceResponse.getResponse();
1129 String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(updateResponse, "normalizedName");
1130 String instanceName = ResponseParser.getValueFromJsonResponse(updateResponse, "name");
1131 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
1132 (resourceDetailsVFC_01.getName() + "2").toLowerCase(), instanceNormalizedName);
1133 AssertJUnit.assertEquals("check Resource Instance normalizedName ", (resourceDetailsVFC_01.getName() + " 2"),
1138 public void updateCpInstanceName() throws Exception {
1140 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1141 .getComponentResourceInstance(resourceDetailsCP_01);
1142 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1143 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1144 ComponentTypeEnum.RESOURCE);
1145 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1146 ComponentInstance componentInstance = ResponseParser
1147 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1148 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1149 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1150 vfcResourceInstanceReqDetails.setName("AbcD");
1151 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1152 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1153 ComponentTypeEnum.RESOURCE);
1154 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1155 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1156 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1157 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1159 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1160 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName, "abcd");
1161 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, "AbcD");
1165 public void updateVlInstanceName() throws Exception {
1167 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1168 .getComponentResourceInstance(resourceDetailsVL_01);
1169 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1170 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1171 ComponentTypeEnum.RESOURCE);
1172 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1173 ComponentInstance componentInstance = ResponseParser
1174 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1175 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1176 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1177 vfcResourceInstanceReqDetails.setName("ABCD");
1178 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1179 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1180 ComponentTypeEnum.RESOURCE);
1181 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1182 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1183 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1184 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1186 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1187 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName, "abcd");
1188 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, "ABCD");
1192 public void updateInstanceNameToArleadyExistInstanceName02() throws Exception {
1194 // Create VFC instance
1195 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1196 .getComponentResourceInstance(resourceDetailsVFC_01);
1197 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1198 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1199 ComponentTypeEnum.RESOURCE);
1200 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1201 ComponentInstance vfcComponentInstance = ResponseParser
1202 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1203 addCompInstReqCapToExpected(vfcComponentInstance, ComponentTypeEnum.RESOURCE);
1204 // Create CP instance
1205 ComponentInstanceReqDetails cpResourceInstanceReqDetails = ElementFactory
1206 .getComponentResourceInstance(resourceDetailsCP_01);
1207 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1208 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1209 ComponentTypeEnum.RESOURCE);
1210 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1211 ComponentInstance cpComponentInstance = ResponseParser
1212 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1213 addCompInstReqCapToExpected(cpComponentInstance, ComponentTypeEnum.RESOURCE);
1214 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
1215 cpResourceInstanceReqDetails.setName(vfcComponentInstance.getName());
1216 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1217 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1218 ComponentTypeEnum.RESOURCE);
1219 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_ALREADY_EXISTS,
1220 updateResourceInstanceResponse.getErrorCode().intValue());
1224 public void updateInstanceNameMaxLength() throws Exception {
1226 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1227 .getComponentResourceInstance(resourceDetailsVFC_01);
1228 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1229 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1230 ComponentTypeEnum.RESOURCE);
1231 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1232 ComponentInstance componentInstance = ResponseParser
1233 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1234 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1235 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1236 String newName = "Qwertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl12345";
1237 vfcResourceInstanceReqDetails.setName(newName);
1238 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1239 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1240 ComponentTypeEnum.RESOURCE);
1241 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1242 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1243 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1244 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1246 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1247 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName, newName.toLowerCase());
1248 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, newName);
1252 public void updateInstanceNameExceedMaxLength() throws Exception {
1254 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1255 .getComponentResourceInstance(resourceDetailsVFC_01);
1256 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1257 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1258 ComponentTypeEnum.RESOURCE);
1259 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1260 ComponentInstance componentInstance = ResponseParser
1261 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1262 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1263 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1264 String newName = "Qwertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl123456";
1265 vfcResourceInstanceReqDetails.setName(newName);
1266 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1267 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1268 ComponentTypeEnum.RESOURCE);
1269 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_COMPONENT_NAME_EXCEEDS_LIMIT,
1270 updateResourceInstanceResponse.getErrorCode().intValue());
1271 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1275 public void updateCpInstanceCheckedByOtherUser() throws Exception {
1277 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
1278 .getComponentResourceInstance(resourceDetailsVL_01);
1279 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1280 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1281 ComponentTypeEnum.RESOURCE);
1282 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1283 ComponentInstance componentInstance = ResponseParser
1284 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1285 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1286 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1287 String newName = "Qwertyuiop1234567890";
1288 resourceInstanceReqDetails.setName(newName);
1289 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1290 resourceInstanceReqDetails, sdncAdminDetails, resourceDetailsVF_02.getUniqueId(),
1291 ComponentTypeEnum.RESOURCE);
1292 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
1293 updateResourceInstanceResponse.getErrorCode().intValue());
1294 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1298 public void UpdateVfcInstance_UserIdIsNonAsdcUser() throws Exception {
1300 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
1301 .getComponentResourceInstance(resourceDetailsVL_01);
1302 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1303 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1304 ComponentTypeEnum.RESOURCE);
1305 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1306 ComponentInstance componentInstance = ResponseParser
1307 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1308 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1309 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1310 String newName = "Qwertyuiop1234567890";
1311 resourceInstanceReqDetails.setName(newName);
1312 User nonSdncUserDetails = new User();
1313 nonSdncUserDetails.setUserId("bt4567");
1314 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1315 resourceInstanceReqDetails, nonSdncUserDetails, resourceDetailsVF_02.getUniqueId(),
1316 ComponentTypeEnum.RESOURCE);
1317 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
1318 updateResourceInstanceResponse.getErrorCode().intValue());
1319 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1323 public void UpdateResourceInstanceFormNonExistingVF() throws Exception {
1325 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
1326 .getComponentResourceInstance(resourceDetailsVL_01);
1327 // LifecycleRestUtils.changeResourceState(resourceDetailsVL_01,
1328 // sdncAdminDetails, "0.1", LifeCycleStatesEnum.CHECKIN);
1329 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1330 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1331 ComponentTypeEnum.RESOURCE);
1332 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1333 ComponentInstance componentInstance = ResponseParser
1334 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1335 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1336 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1337 String newName = "Qwertyuiop1234567890";
1338 resourceInstanceReqDetails.setName(newName);
1339 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1340 resourceInstanceReqDetails, sdncDesignerDetails, "blablabla", ComponentTypeEnum.RESOURCE);
1341 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
1342 updateResourceInstanceResponse.getErrorCode().intValue());
1346 public void updateNonExistingInstanceFromVF() throws Exception {
1348 ComponentInstanceReqDetails resourceInstanceVlReqDetails = ElementFactory
1349 .getComponentResourceInstance(resourceDetailsVL_01);
1350 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1351 resourceInstanceVlReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1352 ComponentTypeEnum.RESOURCE);
1353 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1354 ComponentInstance componentInstance1 = ResponseParser
1355 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1356 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
1357 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1358 resourceInstanceVlReqDetails.setUniqueId("1234567890");
1359 // String newName= "Qwertyuiop1234567890";
1360 // resourceInstanceVlReqDetails.setName(newName);
1361 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1362 resourceInstanceVlReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1363 ComponentTypeEnum.RESOURCE);
1364 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
1365 updateResourceInstanceResponse.getErrorCode().intValue());
1370 public void updateVfcInstanceNameAsVfName() throws Exception {
1372 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1373 .getComponentResourceInstance(resourceDetailsVFC_01);
1374 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1375 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1376 ComponentTypeEnum.RESOURCE);
1377 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1378 ComponentInstance componentInstance = ResponseParser
1379 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1380 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1381 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1382 vfcResourceInstanceReqDetails.setName(resourceDetailsVF_02.getName());
1383 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1384 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1385 ComponentTypeEnum.RESOURCE);
1386 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1387 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1388 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1389 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1391 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1392 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName,
1393 resourceDetailsVF_02.getName().toLowerCase());
1394 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, resourceDetailsVF_02.getName());
1398 public void updateInstanceNameInvalidCharacters() throws Exception {
1399 char invalidChars[] = { '~', '!', '$', '%', '^', '*', '(', ')', '"', '{', '}', '[', ']', '?', '>', '<', '/',
1402 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1403 .getComponentResourceInstance(resourceDetailsVFC_01);
1404 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1405 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1406 ComponentTypeEnum.RESOURCE);
1407 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1408 String newName = "Abcd1";
1410 for (int i = 0; i < invalidChars.length; i++) {
1411 updateName = newName + invalidChars[i];
1412 vfcResourceInstanceReqDetails.setName(updateName);
1413 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1414 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1415 ComponentTypeEnum.RESOURCE);
1416 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_INVALID_CONTENT,
1417 updateResourceInstanceResponse.getErrorCode().intValue());
1423 public void updateVfcInstancePosition() throws Exception {
1425 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1426 .getComponentResourceInstance(resourceDetailsVFC_01);
1427 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1428 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1429 ComponentTypeEnum.RESOURCE);
1430 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1431 ComponentInstance componentInstance = ResponseParser
1432 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1433 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1434 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1435 String updatePosX = "130";
1436 String updatePosY = "180";
1437 vfcResourceInstanceReqDetails.setPosX(updatePosX);
1438 vfcResourceInstanceReqDetails.setPosY(updatePosY);
1439 vfcResourceInstanceReqDetails.setName(null);
1440 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1441 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1442 ComponentTypeEnum.RESOURCE);
1443 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1444 String posXFromJsonResponse = ResponseParser
1445 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posX");
1446 String posYFromJsonResponse = ResponseParser
1447 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posY");
1448 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1449 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1453 public void updateVlInstancePosition() throws Exception {
1455 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1456 .getComponentResourceInstance(resourceDetailsVL_01);
1457 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1458 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1459 ComponentTypeEnum.RESOURCE);
1460 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1461 ComponentInstance componentInstance = ResponseParser
1462 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1463 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1464 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1465 String updatePosX = "130";
1466 String updatePosY = "180";
1467 vfcResourceInstanceReqDetails.setPosX(updatePosX);
1468 vfcResourceInstanceReqDetails.setPosY(updatePosY);
1469 vfcResourceInstanceReqDetails.setName(null);
1470 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1471 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1472 ComponentTypeEnum.RESOURCE);
1473 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1474 String posXFromJsonResponse = ResponseParser
1475 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posX");
1476 String posYFromJsonResponse = ResponseParser
1477 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posY");
1478 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1479 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1483 public void updateCpInstancePosition() throws Exception {
1485 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1486 .getComponentResourceInstance(resourceDetailsCP_01);
1487 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1488 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1489 ComponentTypeEnum.RESOURCE);
1490 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1491 ComponentInstance componentInstance = ResponseParser
1492 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1493 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1494 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1495 String updatePosX = "130";
1496 String updatePosY = "180";
1497 vfcResourceInstanceReqDetails.setPosX(updatePosX);
1498 vfcResourceInstanceReqDetails.setPosY(updatePosY);
1499 vfcResourceInstanceReqDetails.setName(null);
1500 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1501 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1502 ComponentTypeEnum.RESOURCE);
1503 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1504 String posXFromJsonResponse = ResponseParser
1505 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posX");
1506 String posYFromJsonResponse = ResponseParser
1507 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posY");
1508 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1509 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1513 public void updateInstancePositionNegativePosition() throws Exception {
1515 ComponentInstanceReqDetails cpResourceInstanceReqDetails = ElementFactory
1516 .getComponentResourceInstance(resourceDetailsCP_01);
1517 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1518 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1519 ComponentTypeEnum.RESOURCE);
1520 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1521 ComponentInstance componentInstance = ResponseParser
1522 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1523 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1524 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1525 String updatePosX = "-100";
1526 String updatePosY = "-100";
1527 cpResourceInstanceReqDetails.setPosX(updatePosX);
1528 cpResourceInstanceReqDetails.setPosY(updatePosY);
1529 cpResourceInstanceReqDetails.setName(null);
1530 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1531 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1532 ComponentTypeEnum.RESOURCE);
1533 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1534 String posXFromJsonResponse = ResponseParser
1535 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posX");
1536 String posYFromJsonResponse = ResponseParser
1537 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posY");
1538 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1539 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1543 public void updateInstancesPositionSameLocationForBothInstances() throws Exception {
1545 ComponentInstanceReqDetails cpResourceInstanceReqDetails = ElementFactory
1546 .getComponentResourceInstance(resourceDetailsCP_01);
1547 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1548 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1549 ComponentTypeEnum.RESOURCE);
1550 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1551 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1552 .getComponentResourceInstance(resourceDetailsVFC_01);
1553 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1554 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1555 ComponentTypeEnum.RESOURCE);
1556 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1557 String updatePosX = "100";
1558 String updatePosY = "500";
1559 vfcResourceInstanceReqDetails.setPosX(updatePosX);
1560 vfcResourceInstanceReqDetails.setPosY(updatePosY);
1561 vfcResourceInstanceReqDetails.setName(null);
1562 cpResourceInstanceReqDetails.setPosX(updatePosX);
1563 cpResourceInstanceReqDetails.setPosY(updatePosY);
1564 cpResourceInstanceReqDetails.setName(null);
1565 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1566 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1567 ComponentTypeEnum.RESOURCE);
1568 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1569 String posXFromJsonResponse = ResponseParser
1570 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posX");
1571 String posYFromJsonResponse = ResponseParser
1572 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posY");
1573 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1574 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1575 updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1576 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1577 ComponentTypeEnum.RESOURCE);
1578 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1579 posXFromJsonResponse = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1581 posYFromJsonResponse = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1583 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1584 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1588 public void createAllAtomicInstancesTestGetReqCapAPI_suc() throws Exception {
1590 // Add to VF resource VFC, CP and VL instances
1591 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
1592 resourceDetailsVL_01, sdncDesignerDetails);
1593 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1594 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCP_01,
1595 sdncDesignerDetails);
1596 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1597 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_01,
1598 sdncDesignerDetails);
1599 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1601 getVfResourceReqCapUsingAPI(3, 0, sdncDesignerDetails);
1608 public void createAllAtomicInstancesTestGetReqCapAPIfailed() throws Exception {
1610 // Add to VF resource VFC, CP and VL instances
1611 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
1612 resourceDetailsVL_01, sdncDesignerDetails);
1613 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1614 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCP_01,
1615 sdncDesignerDetails);
1616 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1617 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_01,
1618 sdncDesignerDetails);
1619 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1620 resourceDetailsVF_02.setUniqueId("dummy");
1621 RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncAdminDetails,
1622 resourceDetailsVF_02);
1623 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
1624 getResourceResponse.getErrorCode().intValue());
1629 public void associateInVF() throws Exception {
1631 ResourceReqDetails resourceDetailsReq = ElementFactory.getDefaultResourceByType("SoftCompRouter",
1632 NormativeTypesEnum.SOFTWARE_COMPONENT, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS,
1633 sdncDesignerDetails.getUserId(), ResourceTypeEnum.VFC); // resourceType
1635 ResourceReqDetails resourceDetailsCap = ElementFactory.getDefaultResourceByType("MyComput",
1636 NormativeTypesEnum.COMPUTE, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, sdncDesignerDetails.getUserId(),
1637 ResourceTypeEnum.VFC); // resourceType = VFC
1638 createAtomicResource(resourceDetailsReq);
1639 LifecycleRestUtils.changeResourceState(resourceDetailsReq, sdncAdminDetails, "0.1",
1640 LifeCycleStatesEnum.CHECKIN);
1641 createAtomicResource(resourceDetailsCap);
1642 LifecycleRestUtils.changeResourceState(resourceDetailsCap, sdncAdminDetails, "0.1",
1643 LifeCycleStatesEnum.CHECKIN);
1645 RestResponse riReqR = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsReq, sdncDesignerDetails);
1646 ResourceRestUtils.checkCreateResponse(riReqR);
1647 RestResponse riCapR = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCap, sdncDesignerDetails);
1648 ResourceRestUtils.checkCreateResponse(riCapR);
1650 ComponentInstance riReq = ResponseParser.parseToObject(riReqR.getResponse(), ComponentInstance.class);
1651 ComponentInstance riCap = ResponseParser.parseToObject(riCapR.getResponse(), ComponentInstance.class);
1653 RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails,
1654 resourceDetailsVF_02);
1656 CapReqDef capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class);
1658 List<CapabilityDefinition> capList = capReqDef.getCapabilities().get("tosca.capabilities.Container");
1659 List<RequirementDefinition> reqList = capReqDef.getRequirements().get("tosca.capabilities.Container");
1661 RequirementCapabilityRelDef requirementDef = new RequirementCapabilityRelDef();
1662 requirementDef.setFromNode(riReq.getUniqueId());
1663 requirementDef.setToNode(riCap.getUniqueId());
1665 RelationshipInfo pair = new RelationshipInfo();
1666 pair.setRequirementOwnerId(riReq.getUniqueId());
1667 pair.setCapabilityOwnerId(riCap.getUniqueId());
1668 pair.setRequirement("host");
1669 RelationshipImpl relationship = new RelationshipImpl();
1670 relationship.setType("tosca.capabilities.Container");
1671 pair.setRelationships(relationship);
1672 pair.setCapabilityUid(capList.get(0).getUniqueId());
1673 pair.setRequirementUid(reqList.get(0).getUniqueId());
1674 List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
1675 CapabilityRequirementRelationship capReqRel = new CapabilityRequirementRelationship();
1676 relationships.add(capReqRel);
1677 capReqRel.setRelation(pair);
1678 requirementDef.setRelationships(relationships);
1680 RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef,
1681 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
1682 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
1683 associateInstances.getErrorCode().intValue());
1685 getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails,
1686 resourceDetailsVF_02);
1687 capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class);
1689 List<RequirementDefinition> list = capReqDef.getRequirements().get("tosca.capabilities.Container");
1690 AssertJUnit.assertEquals("Check requirement", null, list);
1692 RestResponse dissociateInstances = ComponentInstanceRestUtils.dissociateInstances(requirementDef,
1693 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
1694 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
1695 dissociateInstances.getErrorCode().intValue());
1697 getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails,
1698 resourceDetailsVF_02);
1699 capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class);
1701 list = capReqDef.getRequirements().get("tosca.capabilities.Container");
1702 AssertJUnit.assertEquals("Check requirement", 1, list.size());
1707 public void testUnsatisfiedCpReqInVF() throws Exception {
1709 // Certify all the needed atomic resources
1710 RestResponse response = LifecycleRestUtils.certifyResource(resourceDetailsVFC_02);
1711 ResourceRestUtils.checkSuccess(response);
1712 response = LifecycleRestUtils.certifyResource(resourceDetailsCP_01);
1713 ResourceRestUtils.checkSuccess(response);
1715 ArtifactReqDetails heatArtifactDetails = ElementFactory
1716 .getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType());
1717 response = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails, sdncDesignerDetails,
1718 resourceDetailsVF_02.getUniqueId());
1719 ResourceRestUtils.checkSuccess(response);
1721 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
1722 resourceDetailsCP_01, sdncDesignerDetails);
1723 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1724 String compInstName = ResponseParser.getNameFromResponse(createAtomicResourceInstance);
1725 String cpCompInstId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance);
1727 RestResponse submitForTesting = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02,
1728 sdncDesignerDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1729 String[] variables = new String[] { resourceDetailsVF_02.getName(), "VF", "CP (Connection Point)", compInstName,
1730 "requirement", "tosca.capabilities.network.Bindable", "fulfilled" };
1731 BaseValidationUtils.checkErrorResponse(submitForTesting,
1732 ActionStatus.REQ_CAP_NOT_SATISFIED_BEFORE_CERTIFICATION, variables);
1734 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_02,
1735 sdncDesignerDetails);
1736 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1737 String computeCompInstId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance);
1738 fulfillCpRequirement(resourceDetailsVF_02, cpCompInstId, computeCompInstId, computeCompInstId,
1739 sdncDesignerDetails, ComponentTypeEnum.RESOURCE);
1741 submitForTesting = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncDesignerDetails,
1742 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1743 BaseValidationUtils.checkSuccess(submitForTesting);
1746 private void getVfResourceReqCapUsingAPI(int numberOfRIs, int numberOfRelations, User user)
1747 throws IOException, Exception {
1748 RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncAdminDetails,
1749 resourceDetailsVF_02);
1750 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
1751 getResourceResponse.getErrorCode().intValue());
1752 // ResourceValidationUtils.validateResp(getResourceResponse,
1753 // resourceRespJavaObject);
1754 // int numberOfActualRIs = resource.getComponentInstances()!=null ?
1755 // resource.getComponentInstances().size() : 0;
1756 // int numberOfActualRelations =
1757 // resource.getComponentInstancesRelations()!=null ?
1758 // resource.getComponentInstancesRelations().size() : 0;
1759 // assertEquals("Check number of RIs meet the expected number",
1760 // numberOfRIs ,numberOfActualRIs);
1761 // assertEquals("Check number of RI relations meet the expected number",
1762 // numberOfRelations ,numberOfActualRelations);
1764 //// get VF actual Capabilities and Requirements and validate according
1766 Resource vfResource = ResponseParser.parseToObjectUsingMapper(getResourceResponse.getResponse(),
1768 verifyReqCap(vfResource);