2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.sdc.ci.tests.execute.resource;
23 import static org.junit.Assert.assertTrue;
24 import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.STATUS_CODE_ALREADY_EXISTS;
25 import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.STATUS_CODE_COMPONENT_NAME_EXCEEDS_LIMIT;
26 import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.STATUS_CODE_DELETE;
27 import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.STATUS_CODE_INVALID_CONTENT;
28 import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.STATUS_CODE_NOT_FOUND;
29 import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.STATUS_CODE_RESTRICTED_OPERATION;
30 import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.STATUS_CODE_SUCCESS;
32 import java.io.IOException;
33 import java.util.ArrayList;
34 import java.util.List;
36 import org.junit.Rule;
37 import org.junit.rules.TestName;
38 import org.openecomp.sdc.be.dao.api.ActionStatus;
39 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
40 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
41 import org.openecomp.sdc.be.model.CapReqDef;
42 import org.openecomp.sdc.be.model.CapabilityDefinition;
43 import org.openecomp.sdc.be.model.CapabilityRequirementRelationship;
44 import org.openecomp.sdc.be.model.ComponentInstance;
45 import org.openecomp.sdc.be.model.LifecycleStateEnum;
46 import org.openecomp.sdc.be.model.RelationshipImpl;
47 import org.openecomp.sdc.be.model.RelationshipInfo;
48 import org.openecomp.sdc.be.model.RequirementCapabilityRelDef;
49 import org.openecomp.sdc.be.model.RequirementDefinition;
50 import org.openecomp.sdc.be.model.Resource;
51 import org.openecomp.sdc.be.model.User;
52 import org.openecomp.sdc.ci.tests.api.ComponentInstanceBaseTest;
53 import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails;
54 import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails;
55 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
56 import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
57 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
58 import org.openecomp.sdc.ci.tests.datatypes.enums.NormativeTypesEnum;
59 import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum;
60 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
61 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
62 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
63 import org.openecomp.sdc.ci.tests.utils.rest.ComponentInstanceRestUtils;
64 import org.openecomp.sdc.ci.tests.utils.rest.ComponentRestUtils;
65 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
66 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
67 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
68 import org.openecomp.sdc.ci.tests.utils.validation.BaseValidationUtils;
69 import org.testng.AssertJUnit;
70 import org.testng.annotations.BeforeMethod;
71 import org.testng.annotations.Test;
73 public class VfComponentInstanceCRUDTest extends ComponentInstanceBaseTest {
76 public static TestName name = new TestName();
78 public VfComponentInstanceCRUDTest() {
79 super(name, VfComponentInstanceCRUDTest.class.getName());
83 public void before() throws Exception {
89 private void createComponents() throws Exception {
90 createAtomicResource(resourceDetailsVFC_01);
91 LifecycleRestUtils.changeResourceState(resourceDetailsVFC_01, sdncAdminDetails, "0.1",
92 LifeCycleStatesEnum.CHECKIN);
93 createAtomicResource(resourceDetailsVFC_02);
94 LifecycleRestUtils.changeResourceState(resourceDetailsVFC_02, sdncAdminDetails, "0.1",
95 LifeCycleStatesEnum.CHECKIN);
96 createAtomicResource(resourceDetailsCP_01);
97 LifecycleRestUtils.changeResourceState(resourceDetailsCP_01, sdncAdminDetails, "0.1",
98 LifeCycleStatesEnum.CHECKIN);
99 createAtomicResource(resourceDetailsCP_02);
100 LifecycleRestUtils.changeResourceState(resourceDetailsCP_02, sdncAdminDetails, "0.1",
101 LifeCycleStatesEnum.CHECKIN);
102 createAtomicResource(resourceDetailsVL_01);
103 LifecycleRestUtils.changeResourceState(resourceDetailsVL_01, sdncAdminDetails, "0.1",
104 LifeCycleStatesEnum.CHECKIN);
105 createAtomicResource(resourceDetailsVL_02);
106 LifecycleRestUtils.changeResourceState(resourceDetailsVL_02, sdncAdminDetails, "0.1",
107 LifeCycleStatesEnum.CHECKIN);
108 createVF(resourceDetailsVF_02);
112 public void createVfcInstanceByDesigner() throws Exception {
113 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
114 resourceDetailsVFC_01, sdncDesignerDetails);
115 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
116 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
119 @Test(enabled = false) // DE189419
120 public void createInstanceOfVfToItself() throws Exception {
121 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
122 resourceDetailsVL_01, sdncDesignerDetails);
123 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
124 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
125 .getComponentResourceInstance(resourceDetailsVF_02);
126 createAtomicResourceInstance = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails,
127 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
128 assertTrue(createAtomicResourceInstance.getErrorCode() == STATUS_CODE_NOT_FOUND);
129 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
133 public void createVfcInstanceByAdmin() throws Exception {
134 User user = sdncAdminDetails;
135 createVF(resourceDetailsVF_01, user);
136 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_01,
137 resourceDetailsVFC_01, user);
138 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
139 getComponentAndValidateRIs(resourceDetailsVF_01, 1, 0);
143 public void createCpInstance() throws Exception {
144 // Create CP instance
145 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
146 resourceDetailsCP_01, sdncDesignerDetails);
147 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
148 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
152 public void createVlInstance() throws Exception {
153 // Create VL instance
154 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
155 resourceDetailsVL_01, sdncDesignerDetails);
156 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
157 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
161 public void updateResourceInstanceNameLessMaxLegth() throws Exception {
162 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
163 .getComponentResourceInstance(resourceDetailsCP_01);
164 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
165 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
166 ComponentTypeEnum.RESOURCE);
167 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
168 ComponentInstance componentInstance = ResponseParser
169 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
170 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
171 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
172 vfcResourceInstanceReqDetails.setName("xxxxXthisXstringxisx49XcharcatersXlengthXxxxxxxxx");
173 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
174 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
175 ComponentTypeEnum.RESOURCE);
176 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
181 public void updateInstanceNameExceedMaxLegth() throws Exception {
182 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
183 .getComponentResourceInstance(resourceDetailsCP_01);
184 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
185 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
186 ComponentTypeEnum.RESOURCE);
187 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
188 ComponentInstance componentInstance = ResponseParser
189 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
190 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
191 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
192 vfcResourceInstanceReqDetails.setName("xxxxXthisXstringxisx51XcharcatersXlengthXxxxxxxxxxx");
193 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
194 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
195 ComponentTypeEnum.RESOURCE);
196 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_COMPONENT_NAME_EXCEEDS_LIMIT,
197 updateResourceInstanceResponse.getErrorCode().intValue());
201 public void updateResourceInstanceNameHasMaxLegth() throws Exception {
202 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
203 .getComponentResourceInstance(resourceDetailsCP_01);
204 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
205 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
206 ComponentTypeEnum.RESOURCE);
207 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
208 ComponentInstance componentInstance = ResponseParser
209 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
210 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
211 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
212 vfcResourceInstanceReqDetails.setName("xxxxXthisXstringxisx50XcharcatersXlengthXxxxxxxxxx");
213 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
214 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
215 ComponentTypeEnum.RESOURCE);
216 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
220 public void resourceInstanceNameIsEmpty() throws Exception {
221 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
222 .getComponentResourceInstance(resourceDetailsVFC_01);
223 resourceInstanceReqDetails.setName("");
224 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
225 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
226 ComponentTypeEnum.RESOURCE);
227 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
228 ComponentInstance componentInstance = ResponseParser
229 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
230 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
231 String instanceNormalizedName = ResponseParser
232 .getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "normalizedName");
233 String instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
235 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
236 (resourceDetailsVFC_01.getName() + "1").toLowerCase(), instanceNormalizedName);
237 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 1"),
242 public void resourceInstanceNameIsNull() throws Exception {
243 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
244 .getComponentResourceInstance(resourceDetailsVFC_01);
245 resourceInstanceReqDetails.setName(null);
246 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
247 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
248 ComponentTypeEnum.RESOURCE);
249 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
250 ComponentInstance componentInstance = ResponseParser
251 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
252 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
253 String instanceNormalizedName = ResponseParser
254 .getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "normalizedName");
255 String instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
257 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
258 (resourceDetailsVFC_01.getName() + "1").toLowerCase(), instanceNormalizedName);
259 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 1"),
264 public void resourceInstanceNameValidation01() throws Exception {
266 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
267 .getComponentResourceInstance(resourceDetailsVFC_01);
268 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
269 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
270 ComponentTypeEnum.RESOURCE);
271 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
272 String instanceNormalizedName = ResponseParser
273 .getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "normalizedName");
274 String instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
276 ComponentInstance componentInstance = ResponseParser
277 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
278 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
279 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
280 (resourceDetailsVFC_01.getName() + "1").toLowerCase(), instanceNormalizedName);
281 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 1"),
283 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails,
284 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
285 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
286 instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
288 instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "name");
289 componentInstance = ResponseParser.parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(),
290 ComponentInstance.class);
291 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
292 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
293 (resourceDetailsVFC_01.getName() + "2").toLowerCase(), instanceNormalizedName);
294 AssertJUnit.assertEquals("check Resource Instance normalizedName ", (resourceDetailsVFC_01.getName() + " 2"),
296 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
300 public void resourceInstanceNameValidation02() throws Exception {
303 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
304 .getComponentResourceInstance(resourceDetailsVFC_01);
305 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
306 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
307 ComponentTypeEnum.RESOURCE);
308 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
309 String instanceNormalizedName = ResponseParser
310 .getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "normalizedName");
311 String instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
313 ComponentInstance componentInstance = ResponseParser
314 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
315 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
316 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
317 (resourceDetailsVFC_01.getName() + "1").toLowerCase(), instanceNormalizedName);
318 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 1"),
320 resourceInstanceReqDetails = ElementFactory.getComponentResourceInstance(resourceDetailsCP_01);
321 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails,
322 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
323 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
324 instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
326 instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "name");
327 componentInstance = ResponseParser.parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(),
328 ComponentInstance.class);
329 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
330 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
331 (resourceDetailsCP_01.getName() + "2").toLowerCase(), instanceNormalizedName);
332 AssertJUnit.assertEquals("check Resource Instance normalizedName ", (resourceDetailsCP_01.getName() + " 2"),
334 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
338 public void createVfcInstanceByTester() throws Exception { // Response 409
340 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
341 .getComponentResourceInstance(resourceDetailsVFC_01);
342 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
343 resourceInstanceReqDetails, sdncTesterDetails, resourceDetailsVF_02.getUniqueId(),
344 ComponentTypeEnum.RESOURCE);
345 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
346 createResourceInstanceResponse.getErrorCode().intValue());
347 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
351 public void createVfcInstance_UserIdIsEmpty() throws Exception {
353 User sdncUserDetails = new User();
354 sdncUserDetails.setUserId("");
355 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
356 .getComponentResourceInstance(resourceDetailsVFC_01);
357 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
358 resourceInstanceReqDetails, sdncUserDetails, resourceDetailsVF_02.getUniqueId(),
359 ComponentTypeEnum.RESOURCE);
360 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
361 createResourceInstanceResponse.getErrorCode().intValue());
362 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
366 public void createVfcInstance_UserIdIsNonAsdcUser() throws Exception {
368 User sdncUserDetails = new User();
369 sdncUserDetails.setUserId("bt4567");
370 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
371 .getComponentResourceInstance(resourceDetailsVFC_01);
372 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
373 resourceInstanceReqDetails, sdncUserDetails, resourceDetailsVF_02.getUniqueId(),
374 ComponentTypeEnum.RESOURCE);
375 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
376 createResourceInstanceResponse.getErrorCode().intValue());
377 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
381 public void createAllAtomicInstances() throws Exception {
383 // Add to VF resource VFC, CP and VL instances
384 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
385 resourceDetailsVL_01, sdncDesignerDetails);
386 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
387 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCP_01,
388 sdncDesignerDetails);
389 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
390 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_01,
391 sdncDesignerDetails);
392 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
393 getComponentAndValidateRIs(resourceDetailsVF_02, 3, 0);
397 public void createDefferentVfcInstances() throws Exception {
399 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
400 resourceDetailsVFC_01, sdncDesignerDetails);
401 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
402 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_02,
403 sdncDesignerDetails);
404 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
405 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
409 public void createDefferentCpInstances() throws Exception {
411 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
412 resourceDetailsCP_01, sdncDesignerDetails);
413 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
414 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCP_02,
415 sdncDesignerDetails);
416 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
417 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
421 public void createDefferentVLInstances() throws Exception {
423 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
424 resourceDetailsVL_01, sdncDesignerDetails);
425 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
426 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVL_02,
427 sdncDesignerDetails);
428 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
429 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
433 public void createSeveralInstanceOfSameVFC() throws Exception {
435 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
436 resourceDetailsVFC_01, sdncDesignerDetails);
437 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
438 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_01,
439 sdncDesignerDetails);
440 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
441 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
445 public void createSeveralInstanceOfSameVL() throws Exception {
447 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
448 resourceDetailsVL_01, sdncDesignerDetails);
449 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
450 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVL_01,
451 sdncDesignerDetails);
452 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
453 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
457 public void createSeveralInstanceOfSameCP() throws Exception {
459 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
460 resourceDetailsCP_01, sdncDesignerDetails);
461 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
462 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCP_01,
463 sdncDesignerDetails);
464 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
465 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
469 public void createInstanceOfCpToVfc() throws Exception { // Add to CP to VFC
472 ComponentInstanceReqDetails resourceInstanceReqDetailsCP = ElementFactory
473 .getComponentResourceInstance(resourceDetailsCP_01);
474 ComponentInstanceReqDetails resourceInstanceReqDetailsVFC = ElementFactory
475 .getComponentResourceInstance(resourceDetailsVFC_01);
476 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
477 resourceInstanceReqDetailsCP, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
478 ComponentTypeEnum.RESOURCE);
479 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
480 ComponentInstance componentInstance = ResponseParser
481 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
482 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
483 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
484 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
485 resourceInstanceReqDetailsCP, sdncDesignerDetails, resourceInstanceReqDetailsVFC.getUniqueId(),
486 ComponentTypeEnum.RESOURCE);
487 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
488 createResourceInstanceResponse.getErrorCode().intValue());
489 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
493 public void createInstanceVfcToCp() throws Exception { // (not allowed)
495 ComponentInstanceReqDetails resourceInstanceReqDetailsCP = ElementFactory
496 .getComponentResourceInstance(resourceDetailsCP_01);
497 ComponentInstanceReqDetails resourceInstanceReqDetailsVFC = ElementFactory
498 .getComponentResourceInstance(resourceDetailsVFC_01);
499 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
500 resourceInstanceReqDetailsCP, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
501 ComponentTypeEnum.RESOURCE);
502 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
503 ComponentInstance componentInstance = ResponseParser
504 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
505 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
506 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
507 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
508 resourceInstanceReqDetailsVFC, sdncDesignerDetails, resourceInstanceReqDetailsCP.getUniqueId(),
509 ComponentTypeEnum.RESOURCE);
510 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
511 createResourceInstanceResponse.getErrorCode().intValue());
512 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
516 public void createInstanceVlToVfc() throws Exception {
518 ComponentInstanceReqDetails resourceInstanceReqDetailsVL = ElementFactory
519 .getComponentResourceInstance(resourceDetailsVL_01);
520 ComponentInstanceReqDetails resourceInstanceReqDetailsVFC = ElementFactory
521 .getComponentResourceInstance(resourceDetailsVFC_01);
522 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
523 resourceInstanceReqDetailsVFC, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
524 ComponentTypeEnum.RESOURCE);
525 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
526 ComponentInstance componentInstance = ResponseParser
527 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
528 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
529 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
530 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
531 resourceInstanceReqDetailsVL, sdncDesignerDetails, resourceInstanceReqDetailsVFC.getUniqueId(),
532 ComponentTypeEnum.RESOURCE);
533 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
534 createResourceInstanceResponse.getErrorCode().intValue());
535 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
539 public void createInstanceToNonSupportedComponentType() throws Exception {
541 ComponentInstanceReqDetails resourceInstanceReqDetailsCP = ElementFactory
542 .getComponentResourceInstance(resourceDetailsCP_01);
543 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
544 resourceInstanceReqDetailsCP, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
545 ComponentTypeEnum.RESOURCE_INSTANCE);
546 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_INVALID_CONTENT,
547 createResourceInstanceResponse.getErrorCode().intValue());
548 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
551 // ("Create instance without position is allowed")
553 public void createInstanceOfVlWithoutPosXAndPosY() throws Exception { // instance
559 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
560 .getComponentResourceInstance(resourceDetailsVL_01);
561 resourceInstanceReqDetails.setPosX("");
562 resourceInstanceReqDetails.setPosY("");
563 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
564 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
565 ComponentTypeEnum.RESOURCE);
566 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
567 ComponentInstance componentInstance = ResponseParser
568 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
569 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
570 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
573 // Create instance without position is allowed")
575 public void createInstanceOfVlWithPositionNull() throws Exception { // instance
581 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
582 .getComponentResourceInstance(resourceDetailsVL_01);
583 resourceInstanceReqDetails.setPosX(null);
584 resourceInstanceReqDetails.setPosY(null);
585 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
586 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
587 ComponentTypeEnum.RESOURCE);
588 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
589 ComponentInstance componentInstance = ResponseParser
590 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
591 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
592 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
596 public void createResourceInstanceForNonCheckedOutVF() throws Exception {
598 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncAdminDetails,
599 "0.1", LifeCycleStatesEnum.CHECKIN);
600 resourceDetailsVF_02.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
601 AssertJUnit.assertEquals("Check response code after create user", STATUS_CODE_SUCCESS,
602 checkInResponse.getErrorCode().intValue());
603 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
604 .getComponentResourceInstance(resourceDetailsVFC_01);
605 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
606 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
607 ComponentTypeEnum.RESOURCE);
608 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
609 createResourceInstanceResponse.getErrorCode().intValue());
613 public void createResourceInstanceVfCheckedOutByOtherUser() throws Exception {
615 // Admin try to add RI to VF which is checked-Out By Designer
616 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
617 .getComponentResourceInstance(resourceDetailsVFC_01);
618 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
619 resourceInstanceReqDetails, sdncAdminDetails, resourceDetailsVF_02.getUniqueId(),
620 ComponentTypeEnum.RESOURCE);
621 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
622 createResourceInstanceResponse.getErrorCode().intValue());
623 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
627 public void createResourceInstanceForNonExistingVF() throws Exception {
629 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
630 .getComponentResourceInstance(resourceDetailsVFC_01);
631 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
632 resourceInstanceReqDetails, sdncDesignerDetails, "blablabla", ComponentTypeEnum.RESOURCE);
633 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
634 createResourceInstanceResponse.getErrorCode().intValue());
635 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
640 public void deleteVfcInstanceByDesigner() throws Exception {
643 RestResponse createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_02,
644 resourceDetailsVFC_01, sdncDesignerDetails);
645 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
646 String compInstId = ResponseParser.getUniqueIdFromResponse(createResourceInstanceResponse);
647 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
648 // Delete Resource instance
649 RestResponse deleteResourceInstanceResponse = deleteAtomicInstanceForVF(compInstId, resourceDetailsVF_02,
650 sdncDesignerDetails);
651 ResourceRestUtils.checkDeleteResponse(deleteResourceInstanceResponse);
652 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
656 public void deleteVfcInstanceByAdmin() throws Exception {
657 createVF(resourceDetailsVF_01, sdncAdminDetails);
658 RestResponse createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_01,
659 resourceDetailsVL_01, sdncAdminDetails);
660 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
661 String compInstId = ResponseParser.getUniqueIdFromResponse(createResourceInstanceResponse);
662 getComponentAndValidateRIs(resourceDetailsVF_01, 1, 0);
663 // Delete Resource instance
664 RestResponse deleteResourceInstanceResponse = deleteAtomicInstanceForVF(compInstId, resourceDetailsVF_01,
666 ResourceRestUtils.checkDeleteResponse(deleteResourceInstanceResponse);
667 getComponentAndValidateRIs(resourceDetailsVF_01, 0, 0);
671 public void deleteCpInstance() throws Exception {
673 RestResponse createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_02,
674 resourceDetailsCP_01, sdncDesignerDetails);
675 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
676 String compInstId = ResponseParser.getUniqueIdFromResponse(createResourceInstanceResponse);
677 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
678 // Delete Resource instance
679 RestResponse deleteResourceInstanceResponse = deleteAtomicInstanceForVF(compInstId, resourceDetailsVF_02,
680 sdncDesignerDetails);
681 ResourceRestUtils.checkDeleteResponse(deleteResourceInstanceResponse);
682 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
686 public void deleteVlInstance() throws Exception {
688 RestResponse createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_02,
689 resourceDetailsVL_01, sdncDesignerDetails);
690 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
691 String compInstId = ResponseParser.getUniqueIdFromResponse(createResourceInstanceResponse);
692 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
693 // Delete Resource instance
694 RestResponse deleteResourceInstanceResponse = deleteAtomicInstanceForVF(compInstId, resourceDetailsVF_02,
695 sdncDesignerDetails);
696 ResourceRestUtils.checkDeleteResponse(deleteResourceInstanceResponse);
697 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
701 public void deleteOneVlInstance() throws Exception {
704 RestResponse createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_02,
705 resourceDetailsVL_01, sdncDesignerDetails);
706 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
707 String compInstId = ResponseParser.getUniqueIdFromResponse(createResourceInstanceResponse);
708 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
710 createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVL_01,
711 sdncDesignerDetails);
712 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
713 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
714 // Delete Resource instance RI-1
715 RestResponse deleteResourceInstanceResponse = deleteAtomicInstanceForVF(compInstId, resourceDetailsVF_02,
716 sdncDesignerDetails);
717 ResourceRestUtils.checkDeleteResponse(deleteResourceInstanceResponse);
718 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
722 public void deleteVfcInstanceCheckedByOtherUser() throws Exception {
724 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
725 .getComponentResourceInstance(resourceDetailsVL_01);
726 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
727 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
728 ComponentTypeEnum.RESOURCE);
729 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
730 ComponentInstance componentInstance = ResponseParser
731 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
732 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
733 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
734 // Delete Resource instance
735 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
736 sdncTesterDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
737 ComponentTypeEnum.RESOURCE);
738 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
739 deleteResourceInstanceResponse.getErrorCode().intValue());
740 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
744 public void deleteInstanceNonSupportedComponentType() throws Exception {
746 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
747 .getComponentResourceInstance(resourceDetailsVL_01);
748 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
749 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
750 ComponentTypeEnum.RESOURCE);
751 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
752 ComponentInstance componentInstance = ResponseParser
753 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
754 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
755 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
756 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
757 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
758 ComponentTypeEnum.RESOURCE_INSTANCE);
759 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_INVALID_CONTENT,
760 deleteResourceInstanceResponse.getErrorCode().intValue());
761 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
765 public void deleteInstanceFromNonVF() throws Exception {
768 ComponentInstanceReqDetails resourceInstanceVlReqDetails = ElementFactory
769 .getComponentResourceInstance(resourceDetailsVL_01);
770 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
771 resourceInstanceVlReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
772 ComponentTypeEnum.RESOURCE);
773 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
774 ComponentInstance componentInstance1 = ResponseParser
775 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
776 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
778 ComponentInstanceReqDetails resourceInstanceCplReqDetails = ElementFactory
779 .getComponentResourceInstance(resourceDetailsCP_01);
780 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
781 resourceInstanceCplReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
782 ComponentTypeEnum.RESOURCE);
783 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
784 ComponentInstance componentInstance2 = ResponseParser
785 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
786 addCompInstReqCapToExpected(componentInstance2, ComponentTypeEnum.RESOURCE);
787 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
788 // Delete VL instance from CP instance
789 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
790 sdncDesignerDetails, resourceInstanceCplReqDetails.getUniqueId(),
791 resourceInstanceVlReqDetails.getUniqueId(), ComponentTypeEnum.RESOURCE);
792 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
793 deleteResourceInstanceResponse.getErrorCode().intValue());
794 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
798 public void deleteNonExistingInstanceFromVF() throws Exception {
800 ComponentInstanceReqDetails resourceInstanceVlReqDetails = ElementFactory
801 .getComponentResourceInstance(resourceDetailsVL_01);
802 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
803 resourceInstanceVlReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
804 ComponentTypeEnum.RESOURCE);
805 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
806 ComponentInstance componentInstance1 = ResponseParser
807 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
808 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
809 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
810 resourceInstanceVlReqDetails.setUniqueId("1234567890");
811 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
812 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceVlReqDetails.getUniqueId(),
813 ComponentTypeEnum.RESOURCE);
814 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
815 deleteResourceInstanceResponse.getErrorCode().intValue());
816 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
820 public void deleteCpInstanceFromNonCheckOutVF() throws Exception {
822 ComponentInstanceReqDetails resourceInstanceCpReqDetails = ElementFactory
823 .getComponentResourceInstance(resourceDetailsCP_01);
824 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
825 resourceInstanceCpReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
826 ComponentTypeEnum.RESOURCE);
827 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
828 ComponentInstance componentInstance1 = ResponseParser
829 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
830 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
831 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
832 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncDesignerDetails,
833 "0.1", LifeCycleStatesEnum.CHECKIN);
834 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
835 checkInResponse.getErrorCode().intValue());
836 resourceDetailsVF_02.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
837 // Delete Resource instance
838 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
839 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceCpReqDetails.getUniqueId(),
840 ComponentTypeEnum.RESOURCE);
841 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
842 deleteResourceInstanceResponse.getErrorCode().intValue());
843 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
847 public void deleteVlInstanceFromNonCheckOutVF() throws Exception {
849 ComponentInstanceReqDetails resourceInstanceVlReqDetails = ElementFactory
850 .getComponentResourceInstance(resourceDetailsVL_01);
851 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
852 resourceInstanceVlReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
853 ComponentTypeEnum.RESOURCE);
854 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
855 ComponentInstance componentInstance1 = ResponseParser
856 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
857 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
858 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
859 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncDesignerDetails,
860 "0.1", LifeCycleStatesEnum.CHECKIN);
861 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
862 checkInResponse.getErrorCode().intValue());
863 resourceDetailsVF_02.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
864 // Delete Resource instance
865 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
866 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceVlReqDetails.getUniqueId(),
867 ComponentTypeEnum.RESOURCE);
868 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
869 deleteResourceInstanceResponse.getErrorCode().intValue());
870 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
874 public void deleteVfcInstanceFromNonCheckOutVF() throws Exception {
876 ComponentInstanceReqDetails resourceInstanceVfcReqDetails = ElementFactory
877 .getComponentResourceInstance(resourceDetailsVFC_01);
878 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
879 resourceInstanceVfcReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
880 ComponentTypeEnum.RESOURCE);
881 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
882 ComponentInstance componentInstance1 = ResponseParser
883 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
884 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
885 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
886 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncDesignerDetails,
887 "0.1", LifeCycleStatesEnum.CHECKIN);
888 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
889 checkInResponse.getErrorCode().intValue());
890 resourceDetailsVF_02.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
891 // Delete Resource instance
892 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
893 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceVfcReqDetails.getUniqueId(),
894 ComponentTypeEnum.RESOURCE);
895 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
896 deleteResourceInstanceResponse.getErrorCode().intValue());
897 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
901 public void deleteVlInstance_UserIdIsNonAsdcUser() throws Exception {
903 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
904 .getComponentResourceInstance(resourceDetailsVL_01);
905 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
906 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
907 ComponentTypeEnum.RESOURCE);
908 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
909 ComponentInstance componentInstance = ResponseParser
910 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
911 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
912 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
913 // Delete Resource instance by non-ASDC User
914 User sdncUserDetails = new User();
915 sdncUserDetails.setUserId("bt4567");
916 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
917 sdncUserDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
918 ComponentTypeEnum.RESOURCE);
919 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
920 deleteResourceInstanceResponse.getErrorCode().intValue());
921 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
925 public void deleteAlreadyDeletedInstance() throws Exception {
927 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
928 .getComponentResourceInstance(resourceDetailsVL_01);
929 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
930 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
931 ComponentTypeEnum.RESOURCE);
932 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
933 ComponentInstance componentInstance = ResponseParser
934 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
935 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
936 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
937 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
938 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
939 ComponentTypeEnum.RESOURCE);
940 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_DELETE,
941 deleteResourceInstanceResponse.getErrorCode().intValue());
942 deleteCompInstReqCapFromExpected(componentInstance.getUniqueId());
943 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
944 deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(sdncDesignerDetails,
945 resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
946 ComponentTypeEnum.RESOURCE);
947 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
948 deleteResourceInstanceResponse.getErrorCode().intValue());
952 public void reCreateDeletedInstance() throws Exception {
955 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
956 .getComponentResourceInstance(resourceDetailsVFC_01);
957 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
958 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
959 ComponentTypeEnum.RESOURCE);
960 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
961 String instanceNormalizedName = ResponseParser
962 .getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "normalizedName");
963 String instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
965 ComponentInstance componentInstance = ResponseParser
966 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
967 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
968 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
969 (resourceDetailsVFC_01.getName() + "1").toLowerCase(), instanceNormalizedName);
970 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 1"),
972 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails,
973 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
974 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
975 instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
977 instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "name");
978 componentInstance = ResponseParser.parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(),
979 ComponentInstance.class);
980 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
981 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
982 (resourceDetailsVFC_01.getName() + "2").toLowerCase(), instanceNormalizedName);
983 AssertJUnit.assertEquals("check Resource Instance normalizedName ", (resourceDetailsVFC_01.getName() + " 2"),
985 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
986 // Delete one instance
987 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
988 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
989 ComponentTypeEnum.RESOURCE);
990 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_DELETE,
991 deleteResourceInstanceResponse.getErrorCode().intValue());
992 deleteCompInstReqCapFromExpected(componentInstance.getUniqueId());
993 // Create same instance again
994 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails,
995 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
996 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
997 instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
999 instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "name");
1000 componentInstance = ResponseParser.parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(),
1001 ComponentInstance.class);
1002 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1003 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
1004 (resourceDetailsVFC_01.getName() + "3").toLowerCase(), instanceNormalizedName);
1005 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 3"),
1012 public void updateVfcInstanceNameByDesigner() throws Exception {
1014 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1015 .getComponentResourceInstance(resourceDetailsVFC_01);
1016 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1017 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1018 ComponentTypeEnum.RESOURCE);
1019 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1020 ComponentInstance componentInstance = ResponseParser
1021 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1022 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1023 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1024 vfcResourceInstanceReqDetails.setName("abcd");
1025 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1026 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1027 ComponentTypeEnum.RESOURCE);
1028 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1029 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1030 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1031 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1033 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1034 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName, "abcd");
1035 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, "abcd");
1039 public void updateVfcInstanceNameByAdmin() throws Exception {
1040 User user = sdncAdminDetails;
1041 createVF(resourceDetailsVF_01, user);
1042 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1043 .getComponentResourceInstance(resourceDetailsVFC_01);
1044 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1045 vfcResourceInstanceReqDetails, sdncAdminDetails, resourceDetailsVF_01.getUniqueId(),
1046 ComponentTypeEnum.RESOURCE);
1047 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1048 ComponentInstance componentInstance = ResponseParser
1049 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1050 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1051 getComponentAndValidateRIs(resourceDetailsVF_01, 1, 0);
1052 vfcResourceInstanceReqDetails.setName("ABCD E");
1053 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1054 vfcResourceInstanceReqDetails, sdncAdminDetails, resourceDetailsVF_01.getUniqueId(),
1055 ComponentTypeEnum.RESOURCE);
1056 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1057 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1058 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1059 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1061 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1062 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName, "abcde");
1063 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, "ABCD E");
1067 public void updateInstanceNameAllowedCharacters() throws Exception {
1068 // Allowed characters: Alphanumeric (a-zA-Z0-9), space (' '), underscore
1069 // ('_'), dash ('-'), dot ('.'))
1071 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1072 .getComponentResourceInstance(resourceDetailsVFC_01);
1073 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1074 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1075 ComponentTypeEnum.RESOURCE);
1076 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1077 ComponentInstance componentInstance = ResponseParser
1078 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1079 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1080 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1081 vfcResourceInstanceReqDetails.setName("Abcd_1234567890-qwert-yuiop.zxcvb");
1082 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1083 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1084 ComponentTypeEnum.RESOURCE);
1085 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1086 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1087 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1088 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1090 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1091 // assertEquals("Check if RI normalizedName is correct ",
1092 // riNormalizedName, "abcd_1234567890-qwert-yuiop.zxcv" );
1093 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, "Abcd_1234567890-qwert-yuiop.zxcvb");
1094 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName,
1095 "abcd1234567890qwertyuiopzxcvb");
1100 public void updateVfcInstanceNameEmpty() throws Exception {
1101 // see US534663 In case a designer removes the current resource instance
1102 // name then BE has to generate again the "default" resource instance
1105 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1106 .getComponentResourceInstance(resourceDetailsVFC_01);
1107 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1108 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1109 ComponentTypeEnum.RESOURCE);
1110 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1111 ComponentInstance componentInstance = ResponseParser
1112 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1113 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1114 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1115 String newName = "";
1116 vfcResourceInstanceReqDetails.setName(newName);
1117 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1118 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1119 ComponentTypeEnum.RESOURCE);
1120 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1121 String instanceNormalizedName = ResponseParser
1122 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "normalizedName");
1123 String instanceName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1125 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
1126 (resourceDetailsVFC_01.getName() + "2").toLowerCase(), instanceNormalizedName);
1127 AssertJUnit.assertEquals("check Resource Instance normalizedName ", (resourceDetailsVFC_01.getName() + " 2"),
1132 public void updateVfcInstanceNameNull() throws Exception {
1133 // see US534663 In case a designer removes the current resource instance
1134 // name then BE has to generate again the "default" resource instance
1137 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1138 .getComponentResourceInstance(resourceDetailsVFC_01);
1139 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1140 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1141 ComponentTypeEnum.RESOURCE);
1142 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1143 ComponentInstance componentInstance = ResponseParser
1144 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1145 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1146 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1147 String newName = null;
1148 vfcResourceInstanceReqDetails.setName(newName);
1149 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1150 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1151 ComponentTypeEnum.RESOURCE);
1152 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1153 final String updateResponse = updateResourceInstanceResponse.getResponse();
1154 String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(updateResponse, "normalizedName");
1155 String instanceName = ResponseParser.getValueFromJsonResponse(updateResponse, "name");
1156 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
1157 (resourceDetailsVFC_01.getName() + "2").toLowerCase(), instanceNormalizedName);
1158 AssertJUnit.assertEquals("check Resource Instance normalizedName ", (resourceDetailsVFC_01.getName() + " 2"),
1163 public void updateCpInstanceName() throws Exception {
1165 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1166 .getComponentResourceInstance(resourceDetailsCP_01);
1167 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1168 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1169 ComponentTypeEnum.RESOURCE);
1170 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1171 ComponentInstance componentInstance = ResponseParser
1172 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1173 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1174 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1175 vfcResourceInstanceReqDetails.setName("AbcD");
1176 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1177 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1178 ComponentTypeEnum.RESOURCE);
1179 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1180 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1181 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1182 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1184 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1185 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName, "abcd");
1186 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, "AbcD");
1190 public void updateVlInstanceName() throws Exception {
1192 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1193 .getComponentResourceInstance(resourceDetailsVL_01);
1194 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1195 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1196 ComponentTypeEnum.RESOURCE);
1197 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1198 ComponentInstance componentInstance = ResponseParser
1199 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1200 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1201 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1202 vfcResourceInstanceReqDetails.setName("ABCD");
1203 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1204 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1205 ComponentTypeEnum.RESOURCE);
1206 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1207 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1208 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1209 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1211 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1212 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName, "abcd");
1213 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, "ABCD");
1217 public void updateInstanceNameToArleadyExistInstanceName02() throws Exception {
1219 // Create VFC instance
1220 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1221 .getComponentResourceInstance(resourceDetailsVFC_01);
1222 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1223 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1224 ComponentTypeEnum.RESOURCE);
1225 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1226 ComponentInstance vfcComponentInstance = ResponseParser
1227 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1228 addCompInstReqCapToExpected(vfcComponentInstance, ComponentTypeEnum.RESOURCE);
1229 // Create CP instance
1230 ComponentInstanceReqDetails cpResourceInstanceReqDetails = ElementFactory
1231 .getComponentResourceInstance(resourceDetailsCP_01);
1232 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1233 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1234 ComponentTypeEnum.RESOURCE);
1235 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1236 ComponentInstance cpComponentInstance = ResponseParser
1237 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1238 addCompInstReqCapToExpected(cpComponentInstance, ComponentTypeEnum.RESOURCE);
1239 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
1240 cpResourceInstanceReqDetails.setName(vfcComponentInstance.getName());
1241 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1242 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1243 ComponentTypeEnum.RESOURCE);
1244 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_ALREADY_EXISTS,
1245 updateResourceInstanceResponse.getErrorCode().intValue());
1249 public void updateInstanceNameMaxLength() throws Exception {
1251 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1252 .getComponentResourceInstance(resourceDetailsVFC_01);
1253 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1254 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1255 ComponentTypeEnum.RESOURCE);
1256 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1257 ComponentInstance componentInstance = ResponseParser
1258 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1259 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1260 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1261 String newName = "Qwertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl12345";
1262 vfcResourceInstanceReqDetails.setName(newName);
1263 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1264 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1265 ComponentTypeEnum.RESOURCE);
1266 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1267 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1268 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1269 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1271 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1272 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName, newName.toLowerCase());
1273 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, newName);
1277 public void updateInstanceNameExceedMaxLength() throws Exception {
1279 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1280 .getComponentResourceInstance(resourceDetailsVFC_01);
1281 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1282 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1283 ComponentTypeEnum.RESOURCE);
1284 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1285 ComponentInstance componentInstance = ResponseParser
1286 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1287 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1288 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1289 String newName = "Qwertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl123456";
1290 vfcResourceInstanceReqDetails.setName(newName);
1291 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1292 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1293 ComponentTypeEnum.RESOURCE);
1294 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_COMPONENT_NAME_EXCEEDS_LIMIT,
1295 updateResourceInstanceResponse.getErrorCode().intValue());
1296 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1300 public void updateCpInstanceCheckedByOtherUser() throws Exception {
1302 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
1303 .getComponentResourceInstance(resourceDetailsVL_01);
1304 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1305 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1306 ComponentTypeEnum.RESOURCE);
1307 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1308 ComponentInstance componentInstance = ResponseParser
1309 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1310 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1311 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1312 String newName = "Qwertyuiop1234567890";
1313 resourceInstanceReqDetails.setName(newName);
1314 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1315 resourceInstanceReqDetails, sdncAdminDetails, 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 UpdateVfcInstance_UserIdIsNonAsdcUser() throws Exception {
1325 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
1326 .getComponentResourceInstance(resourceDetailsVL_01);
1327 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1328 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1329 ComponentTypeEnum.RESOURCE);
1330 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1331 ComponentInstance componentInstance = ResponseParser
1332 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1333 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1334 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1335 String newName = "Qwertyuiop1234567890";
1336 resourceInstanceReqDetails.setName(newName);
1337 User nonSdncUserDetails = new User();
1338 nonSdncUserDetails.setUserId("bt4567");
1339 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1340 resourceInstanceReqDetails, nonSdncUserDetails, resourceDetailsVF_02.getUniqueId(),
1341 ComponentTypeEnum.RESOURCE);
1342 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
1343 updateResourceInstanceResponse.getErrorCode().intValue());
1344 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1348 public void UpdateResourceInstanceFormNonExistingVF() throws Exception {
1350 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
1351 .getComponentResourceInstance(resourceDetailsVL_01);
1352 // LifecycleRestUtils.changeResourceState(resourceDetailsVL_01,
1353 // sdncAdminDetails, "0.1", LifeCycleStatesEnum.CHECKIN);
1354 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1355 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1356 ComponentTypeEnum.RESOURCE);
1357 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1358 ComponentInstance componentInstance = ResponseParser
1359 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1360 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1361 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1362 String newName = "Qwertyuiop1234567890";
1363 resourceInstanceReqDetails.setName(newName);
1364 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1365 resourceInstanceReqDetails, sdncDesignerDetails, "blablabla", ComponentTypeEnum.RESOURCE);
1366 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
1367 updateResourceInstanceResponse.getErrorCode().intValue());
1371 public void updateNonExistingInstanceFromVF() throws Exception {
1373 ComponentInstanceReqDetails resourceInstanceVlReqDetails = ElementFactory
1374 .getComponentResourceInstance(resourceDetailsVL_01);
1375 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1376 resourceInstanceVlReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1377 ComponentTypeEnum.RESOURCE);
1378 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1379 ComponentInstance componentInstance1 = ResponseParser
1380 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1381 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
1382 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1383 resourceInstanceVlReqDetails.setUniqueId("1234567890");
1384 // String newName= "Qwertyuiop1234567890";
1385 // resourceInstanceVlReqDetails.setName(newName);
1386 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1387 resourceInstanceVlReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1388 ComponentTypeEnum.RESOURCE);
1389 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
1390 updateResourceInstanceResponse.getErrorCode().intValue());
1395 public void updateVfcInstanceNameAsVfName() throws Exception {
1397 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1398 .getComponentResourceInstance(resourceDetailsVFC_01);
1399 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1400 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1401 ComponentTypeEnum.RESOURCE);
1402 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1403 ComponentInstance componentInstance = ResponseParser
1404 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1405 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1406 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1407 vfcResourceInstanceReqDetails.setName(resourceDetailsVF_02.getName());
1408 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1409 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1410 ComponentTypeEnum.RESOURCE);
1411 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1412 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1413 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1414 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1416 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1417 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName,
1418 resourceDetailsVF_02.getName().toLowerCase());
1419 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, resourceDetailsVF_02.getName());
1423 public void updateInstanceNameInvalidCharacters() throws Exception {
1424 char invalidChars[] = { '~', '!', '$', '%', '^', '*', '(', ')', '"', '{', '}', '[', ']', '?', '>', '<', '/',
1427 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1428 .getComponentResourceInstance(resourceDetailsVFC_01);
1429 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1430 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1431 ComponentTypeEnum.RESOURCE);
1432 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1433 String newName = "Abcd1";
1435 for (int i = 0; i < invalidChars.length; i++) {
1436 updateName = newName + invalidChars[i];
1437 vfcResourceInstanceReqDetails.setName(updateName);
1438 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1439 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1440 ComponentTypeEnum.RESOURCE);
1441 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_INVALID_CONTENT,
1442 updateResourceInstanceResponse.getErrorCode().intValue());
1448 public void updateVfcInstancePosition() throws Exception {
1450 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1451 .getComponentResourceInstance(resourceDetailsVFC_01);
1452 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1453 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1454 ComponentTypeEnum.RESOURCE);
1455 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1456 ComponentInstance componentInstance = ResponseParser
1457 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1458 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1459 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1460 String updatePosX = "130";
1461 String updatePosY = "180";
1462 vfcResourceInstanceReqDetails.setPosX(updatePosX);
1463 vfcResourceInstanceReqDetails.setPosY(updatePosY);
1464 vfcResourceInstanceReqDetails.setName(null);
1465 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1466 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1467 ComponentTypeEnum.RESOURCE);
1468 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1469 String posXFromJsonResponse = ResponseParser
1470 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posX");
1471 String posYFromJsonResponse = ResponseParser
1472 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posY");
1473 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1474 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1478 public void updateVlInstancePosition() throws Exception {
1480 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1481 .getComponentResourceInstance(resourceDetailsVL_01);
1482 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1483 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1484 ComponentTypeEnum.RESOURCE);
1485 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1486 ComponentInstance componentInstance = ResponseParser
1487 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1488 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1489 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1490 String updatePosX = "130";
1491 String updatePosY = "180";
1492 vfcResourceInstanceReqDetails.setPosX(updatePosX);
1493 vfcResourceInstanceReqDetails.setPosY(updatePosY);
1494 vfcResourceInstanceReqDetails.setName(null);
1495 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1496 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1497 ComponentTypeEnum.RESOURCE);
1498 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1499 String posXFromJsonResponse = ResponseParser
1500 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posX");
1501 String posYFromJsonResponse = ResponseParser
1502 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posY");
1503 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1504 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1508 public void updateCpInstancePosition() throws Exception {
1510 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1511 .getComponentResourceInstance(resourceDetailsCP_01);
1512 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1513 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1514 ComponentTypeEnum.RESOURCE);
1515 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1516 ComponentInstance componentInstance = ResponseParser
1517 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1518 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1519 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1520 String updatePosX = "130";
1521 String updatePosY = "180";
1522 vfcResourceInstanceReqDetails.setPosX(updatePosX);
1523 vfcResourceInstanceReqDetails.setPosY(updatePosY);
1524 vfcResourceInstanceReqDetails.setName(null);
1525 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1526 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1527 ComponentTypeEnum.RESOURCE);
1528 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1529 String posXFromJsonResponse = ResponseParser
1530 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posX");
1531 String posYFromJsonResponse = ResponseParser
1532 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posY");
1533 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1534 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1538 public void updateInstancePositionNegativePosition() throws Exception {
1540 ComponentInstanceReqDetails cpResourceInstanceReqDetails = ElementFactory
1541 .getComponentResourceInstance(resourceDetailsCP_01);
1542 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1543 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1544 ComponentTypeEnum.RESOURCE);
1545 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1546 ComponentInstance componentInstance = ResponseParser
1547 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1548 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1549 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1550 String updatePosX = "-100";
1551 String updatePosY = "-100";
1552 cpResourceInstanceReqDetails.setPosX(updatePosX);
1553 cpResourceInstanceReqDetails.setPosY(updatePosY);
1554 cpResourceInstanceReqDetails.setName(null);
1555 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1556 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1557 ComponentTypeEnum.RESOURCE);
1558 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1559 String posXFromJsonResponse = ResponseParser
1560 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posX");
1561 String posYFromJsonResponse = ResponseParser
1562 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posY");
1563 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1564 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1568 public void updateInstancesPositionSameLocationForBothInstances() throws Exception {
1570 ComponentInstanceReqDetails cpResourceInstanceReqDetails = ElementFactory
1571 .getComponentResourceInstance(resourceDetailsCP_01);
1572 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1573 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1574 ComponentTypeEnum.RESOURCE);
1575 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1576 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1577 .getComponentResourceInstance(resourceDetailsVFC_01);
1578 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1579 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1580 ComponentTypeEnum.RESOURCE);
1581 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1582 String updatePosX = "100";
1583 String updatePosY = "500";
1584 vfcResourceInstanceReqDetails.setPosX(updatePosX);
1585 vfcResourceInstanceReqDetails.setPosY(updatePosY);
1586 vfcResourceInstanceReqDetails.setName(null);
1587 cpResourceInstanceReqDetails.setPosX(updatePosX);
1588 cpResourceInstanceReqDetails.setPosY(updatePosY);
1589 cpResourceInstanceReqDetails.setName(null);
1590 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1591 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1592 ComponentTypeEnum.RESOURCE);
1593 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1594 String posXFromJsonResponse = ResponseParser
1595 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posX");
1596 String posYFromJsonResponse = ResponseParser
1597 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posY");
1598 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1599 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1600 updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1601 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1602 ComponentTypeEnum.RESOURCE);
1603 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1604 posXFromJsonResponse = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1606 posYFromJsonResponse = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1608 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1609 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1613 public void createAllAtomicInstancesTestGetReqCapAPI_suc() throws Exception {
1615 // Add to VF resource VFC, CP and VL instances
1616 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
1617 resourceDetailsVL_01, sdncDesignerDetails);
1618 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1619 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCP_01,
1620 sdncDesignerDetails);
1621 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1622 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_01,
1623 sdncDesignerDetails);
1624 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1626 getVfResourceReqCapUsingAPI(3, 0, sdncDesignerDetails);
1633 public void createAllAtomicInstancesTestGetReqCapAPIfailed() throws Exception {
1635 // Add to VF resource VFC, CP and VL instances
1636 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
1637 resourceDetailsVL_01, sdncDesignerDetails);
1638 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1639 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCP_01,
1640 sdncDesignerDetails);
1641 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1642 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_01,
1643 sdncDesignerDetails);
1644 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1645 resourceDetailsVF_02.setUniqueId("dummy");
1646 RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncAdminDetails,
1647 resourceDetailsVF_02);
1648 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
1649 getResourceResponse.getErrorCode().intValue());
1654 public void associateInVF() throws Exception {
1656 ResourceReqDetails resourceDetailsReq = ElementFactory.getDefaultResourceByType("SoftCompRouter",
1657 NormativeTypesEnum.SOFTWARE_COMPONENT, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS,
1658 sdncDesignerDetails.getUserId(), ResourceTypeEnum.VFC); // resourceType
1660 ResourceReqDetails resourceDetailsCap = ElementFactory.getDefaultResourceByType("MyComput",
1661 NormativeTypesEnum.COMPUTE, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, sdncDesignerDetails.getUserId(),
1662 ResourceTypeEnum.VFC); // resourceType = VFC
1663 createAtomicResource(resourceDetailsReq);
1664 LifecycleRestUtils.changeResourceState(resourceDetailsReq, sdncAdminDetails, "0.1",
1665 LifeCycleStatesEnum.CHECKIN);
1666 createAtomicResource(resourceDetailsCap);
1667 LifecycleRestUtils.changeResourceState(resourceDetailsCap, sdncAdminDetails, "0.1",
1668 LifeCycleStatesEnum.CHECKIN);
1670 RestResponse riReqR = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsReq, sdncDesignerDetails);
1671 ResourceRestUtils.checkCreateResponse(riReqR);
1672 RestResponse riCapR = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCap, sdncDesignerDetails);
1673 ResourceRestUtils.checkCreateResponse(riCapR);
1675 ComponentInstance riReq = ResponseParser.parseToObject(riReqR.getResponse(), ComponentInstance.class);
1676 ComponentInstance riCap = ResponseParser.parseToObject(riCapR.getResponse(), ComponentInstance.class);
1678 RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails,
1679 resourceDetailsVF_02);
1681 CapReqDef capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class);
1683 List<CapabilityDefinition> capList = capReqDef.getCapabilities().get("tosca.capabilities.Container");
1684 List<RequirementDefinition> reqList = capReqDef.getRequirements().get("tosca.capabilities.Container");
1686 RequirementCapabilityRelDef requirementDef = new RequirementCapabilityRelDef();
1687 requirementDef.setFromNode(riReq.getUniqueId());
1688 requirementDef.setToNode(riCap.getUniqueId());
1690 RelationshipInfo pair = new RelationshipInfo();
1691 pair.setRequirementOwnerId(riReq.getUniqueId());
1692 pair.setCapabilityOwnerId(riCap.getUniqueId());
1693 pair.setRequirement("host");
1694 RelationshipImpl relationship = new RelationshipImpl();
1695 relationship.setType("tosca.capabilities.Container");
1696 pair.setRelationships(relationship);
1697 pair.setCapabilityUid(capList.get(0).getUniqueId());
1698 pair.setRequirementUid(reqList.get(0).getUniqueId());
1699 List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
1700 CapabilityRequirementRelationship capReqRel = new CapabilityRequirementRelationship();
1701 relationships.add(capReqRel);
1702 capReqRel.setRelation(pair);
1703 requirementDef.setRelationships(relationships);
1705 RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef,
1706 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
1707 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
1708 associateInstances.getErrorCode().intValue());
1710 getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails,
1711 resourceDetailsVF_02);
1712 capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class);
1714 List<RequirementDefinition> list = capReqDef.getRequirements().get("tosca.capabilities.Container");
1715 AssertJUnit.assertEquals("Check requirement", null, list);
1717 RestResponse dissociateInstances = ComponentInstanceRestUtils.dissociateInstances(requirementDef,
1718 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
1719 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
1720 dissociateInstances.getErrorCode().intValue());
1722 getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails,
1723 resourceDetailsVF_02);
1724 capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class);
1726 list = capReqDef.getRequirements().get("tosca.capabilities.Container");
1727 AssertJUnit.assertEquals("Check requirement", 1, list.size());
1732 public void testUnsatisfiedCpReqInVF() throws Exception {
1734 // Certify all the needed atomic resources
1735 RestResponse response = LifecycleRestUtils.certifyResource(resourceDetailsVFC_02);
1736 ResourceRestUtils.checkSuccess(response);
1737 response = LifecycleRestUtils.certifyResource(resourceDetailsCP_01);
1738 ResourceRestUtils.checkSuccess(response);
1740 ArtifactReqDetails heatArtifactDetails = ElementFactory
1741 .getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType());
1742 response = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails, sdncDesignerDetails,
1743 resourceDetailsVF_02.getUniqueId());
1744 ResourceRestUtils.checkSuccess(response);
1746 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
1747 resourceDetailsCP_01, sdncDesignerDetails);
1748 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1749 String compInstName = ResponseParser.getNameFromResponse(createAtomicResourceInstance);
1750 String cpCompInstId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance);
1752 RestResponse submitForTesting = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02,
1753 sdncDesignerDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1754 String[] variables = new String[] { resourceDetailsVF_02.getName(), "VF", "CP (Connection Point)", compInstName,
1755 "requirement", "tosca.capabilities.network.Bindable", "fulfilled" };
1756 BaseValidationUtils.checkErrorResponse(submitForTesting,
1757 ActionStatus.REQ_CAP_NOT_SATISFIED_BEFORE_CERTIFICATION, variables);
1759 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_02,
1760 sdncDesignerDetails);
1761 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1762 String computeCompInstId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance);
1763 fulfillCpRequirement(resourceDetailsVF_02, cpCompInstId, computeCompInstId, computeCompInstId,
1764 sdncDesignerDetails, ComponentTypeEnum.RESOURCE);
1766 submitForTesting = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncDesignerDetails,
1767 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1768 BaseValidationUtils.checkSuccess(submitForTesting);
1771 private void getVfResourceReqCapUsingAPI(int numberOfRIs, int numberOfRelations, User user)
1772 throws IOException, Exception {
1773 RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncAdminDetails,
1774 resourceDetailsVF_02);
1775 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
1776 getResourceResponse.getErrorCode().intValue());
1777 // ResourceValidationUtils.validateResp(getResourceResponse,
1778 // resourceRespJavaObject);
1779 // int numberOfActualRIs = resource.getComponentInstances()!=null ?
1780 // resource.getComponentInstances().size() : 0;
1781 // int numberOfActualRelations =
1782 // resource.getComponentInstancesRelations()!=null ?
1783 // resource.getComponentInstancesRelations().size() : 0;
1784 // assertEquals("Check number of RIs meet the expected number",
1785 // numberOfRIs ,numberOfActualRIs);
1786 // assertEquals("Check number of RI relations meet the expected number",
1787 // numberOfRelations ,numberOfActualRelations);
1789 //// get VF actual Capabilities and Requirements and validate according
1791 Resource vfResource = ResponseParser.parseToObjectUsingMapper(getResourceResponse.getResponse(),
1793 verifyReqCap(vfResource);