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.ComponentInstance;
44 import org.openecomp.sdc.be.model.LifecycleStateEnum;
45 import org.openecomp.sdc.be.model.RelationshipImpl;
46 import org.openecomp.sdc.be.model.RequirementAndRelationshipPair;
47 import org.openecomp.sdc.be.model.RequirementCapabilityRelDef;
48 import org.openecomp.sdc.be.model.RequirementDefinition;
49 import org.openecomp.sdc.be.model.Resource;
50 import org.openecomp.sdc.be.model.User;
51 import org.openecomp.sdc.ci.tests.api.ComponentInstanceBaseTest;
52 import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails;
53 import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails;
54 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
55 import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
56 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
57 import org.openecomp.sdc.ci.tests.datatypes.enums.NormativeTypesEnum;
58 import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum;
59 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
60 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
61 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
62 import org.openecomp.sdc.ci.tests.utils.rest.ComponentInstanceRestUtils;
63 import org.openecomp.sdc.ci.tests.utils.rest.ComponentRestUtils;
64 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
65 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
66 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
67 import org.openecomp.sdc.ci.tests.utils.validation.BaseValidationUtils;
68 import org.testng.AssertJUnit;
69 import org.testng.annotations.BeforeMethod;
70 import org.testng.annotations.Test;
72 public class VfComponentInstanceCRUDTest extends ComponentInstanceBaseTest {
75 public static TestName name = new TestName();
77 public VfComponentInstanceCRUDTest() {
78 super(name, VfComponentInstanceCRUDTest.class.getName());
82 public void before() throws Exception {
88 private void createComponents() throws Exception {
89 createAtomicResource(resourceDetailsVFC_01);
90 LifecycleRestUtils.changeResourceState(resourceDetailsVFC_01, sdncAdminDetails, "0.1",
91 LifeCycleStatesEnum.CHECKIN);
92 createAtomicResource(resourceDetailsVFC_02);
93 LifecycleRestUtils.changeResourceState(resourceDetailsVFC_02, sdncAdminDetails, "0.1",
94 LifeCycleStatesEnum.CHECKIN);
95 createAtomicResource(resourceDetailsCP_01);
96 LifecycleRestUtils.changeResourceState(resourceDetailsCP_01, sdncAdminDetails, "0.1",
97 LifeCycleStatesEnum.CHECKIN);
98 createAtomicResource(resourceDetailsCP_02);
99 LifecycleRestUtils.changeResourceState(resourceDetailsCP_02, sdncAdminDetails, "0.1",
100 LifeCycleStatesEnum.CHECKIN);
101 createAtomicResource(resourceDetailsVL_01);
102 LifecycleRestUtils.changeResourceState(resourceDetailsVL_01, sdncAdminDetails, "0.1",
103 LifeCycleStatesEnum.CHECKIN);
104 createAtomicResource(resourceDetailsVL_02);
105 LifecycleRestUtils.changeResourceState(resourceDetailsVL_02, sdncAdminDetails, "0.1",
106 LifeCycleStatesEnum.CHECKIN);
107 createVF(resourceDetailsVF_02);
111 public void createVfcInstanceByDesigner() throws Exception {
112 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
113 resourceDetailsVFC_01, sdncDesignerDetails);
114 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
115 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
118 @Test(enabled = false) // DE189419
119 public void createInstanceOfVfToItself() throws Exception {
120 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
121 resourceDetailsVL_01, sdncDesignerDetails);
122 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
123 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
124 .getComponentResourceInstance(resourceDetailsVF_02);
125 createAtomicResourceInstance = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails,
126 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
127 assertTrue(createAtomicResourceInstance.getErrorCode() == STATUS_CODE_NOT_FOUND);
128 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
132 public void createVfcInstanceByAdmin() throws Exception {
133 User user = sdncAdminDetails;
134 createVF(resourceDetailsVF_01, user);
135 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_01,
136 resourceDetailsVFC_01, user);
137 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
138 getComponentAndValidateRIs(resourceDetailsVF_01, 1, 0);
142 public void createCpInstance() throws Exception {
143 // Create CP instance
144 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
145 resourceDetailsCP_01, sdncDesignerDetails);
146 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
147 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
151 public void createVlInstance() throws Exception {
152 // Create VL instance
153 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
154 resourceDetailsVL_01, sdncDesignerDetails);
155 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
156 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
160 public void updateResourceInstanceNameLessMaxLegth() throws Exception {
161 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
162 .getComponentResourceInstance(resourceDetailsCP_01);
163 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
164 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
165 ComponentTypeEnum.RESOURCE);
166 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
167 ComponentInstance componentInstance = ResponseParser
168 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
169 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
170 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
171 vfcResourceInstanceReqDetails.setName("xxxxXthisXstringxisx49XcharcatersXlengthXxxxxxxxx");
172 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
173 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
174 ComponentTypeEnum.RESOURCE);
175 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
180 public void updateInstanceNameExceedMaxLegth() throws Exception {
181 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
182 .getComponentResourceInstance(resourceDetailsCP_01);
183 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
184 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
185 ComponentTypeEnum.RESOURCE);
186 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
187 ComponentInstance componentInstance = ResponseParser
188 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
189 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
190 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
191 vfcResourceInstanceReqDetails.setName("xxxxXthisXstringxisx51XcharcatersXlengthXxxxxxxxxxx");
192 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
193 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
194 ComponentTypeEnum.RESOURCE);
195 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_COMPONENT_NAME_EXCEEDS_LIMIT,
196 updateResourceInstanceResponse.getErrorCode().intValue());
200 public void updateResourceInstanceNameHasMaxLegth() throws Exception {
201 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
202 .getComponentResourceInstance(resourceDetailsCP_01);
203 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
204 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
205 ComponentTypeEnum.RESOURCE);
206 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
207 ComponentInstance componentInstance = ResponseParser
208 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
209 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
210 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
211 vfcResourceInstanceReqDetails.setName("xxxxXthisXstringxisx50XcharcatersXlengthXxxxxxxxxx");
212 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
213 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
214 ComponentTypeEnum.RESOURCE);
215 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
219 public void resourceInstanceNameIsEmpty() throws Exception {
220 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
221 .getComponentResourceInstance(resourceDetailsVFC_01);
222 resourceInstanceReqDetails.setName("");
223 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
224 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
225 ComponentTypeEnum.RESOURCE);
226 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
227 ComponentInstance componentInstance = ResponseParser
228 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
229 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
230 String instanceNormalizedName = ResponseParser
231 .getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "normalizedName");
232 String instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
234 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
235 (resourceDetailsVFC_01.getName() + "1").toLowerCase(), instanceNormalizedName);
236 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 1"),
241 public void resourceInstanceNameIsNull() throws Exception {
242 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
243 .getComponentResourceInstance(resourceDetailsVFC_01);
244 resourceInstanceReqDetails.setName(null);
245 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
246 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
247 ComponentTypeEnum.RESOURCE);
248 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
249 ComponentInstance componentInstance = ResponseParser
250 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
251 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
252 String instanceNormalizedName = ResponseParser
253 .getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "normalizedName");
254 String instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
256 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
257 (resourceDetailsVFC_01.getName() + "1").toLowerCase(), instanceNormalizedName);
258 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 1"),
263 public void resourceInstanceNameValidation01() throws Exception {
265 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
266 .getComponentResourceInstance(resourceDetailsVFC_01);
267 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
268 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
269 ComponentTypeEnum.RESOURCE);
270 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
271 String instanceNormalizedName = ResponseParser
272 .getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "normalizedName");
273 String instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
275 ComponentInstance componentInstance = ResponseParser
276 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
277 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
278 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
279 (resourceDetailsVFC_01.getName() + "1").toLowerCase(), instanceNormalizedName);
280 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 1"),
282 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails,
283 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
284 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
285 instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
287 instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "name");
288 componentInstance = ResponseParser.parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(),
289 ComponentInstance.class);
290 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
291 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
292 (resourceDetailsVFC_01.getName() + "2").toLowerCase(), instanceNormalizedName);
293 AssertJUnit.assertEquals("check Resource Instance normalizedName ", (resourceDetailsVFC_01.getName() + " 2"),
295 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
299 public void resourceInstanceNameValidation02() throws Exception {
302 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
303 .getComponentResourceInstance(resourceDetailsVFC_01);
304 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
305 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
306 ComponentTypeEnum.RESOURCE);
307 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
308 String instanceNormalizedName = ResponseParser
309 .getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "normalizedName");
310 String instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
312 ComponentInstance componentInstance = ResponseParser
313 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
314 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
315 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
316 (resourceDetailsVFC_01.getName() + "1").toLowerCase(), instanceNormalizedName);
317 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 1"),
319 resourceInstanceReqDetails = ElementFactory.getComponentResourceInstance(resourceDetailsCP_01);
320 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails,
321 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
322 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
323 instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
325 instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "name");
326 componentInstance = ResponseParser.parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(),
327 ComponentInstance.class);
328 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
329 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
330 (resourceDetailsCP_01.getName() + "2").toLowerCase(), instanceNormalizedName);
331 AssertJUnit.assertEquals("check Resource Instance normalizedName ", (resourceDetailsCP_01.getName() + " 2"),
333 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
337 public void createVfcInstanceByTester() throws Exception { // Response 409
339 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
340 .getComponentResourceInstance(resourceDetailsVFC_01);
341 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
342 resourceInstanceReqDetails, sdncTesterDetails, resourceDetailsVF_02.getUniqueId(),
343 ComponentTypeEnum.RESOURCE);
344 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
345 createResourceInstanceResponse.getErrorCode().intValue());
346 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
350 public void createVfcInstance_UserIdIsEmpty() throws Exception {
352 User sdncUserDetails = new User();
353 sdncUserDetails.setUserId("");
354 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
355 .getComponentResourceInstance(resourceDetailsVFC_01);
356 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
357 resourceInstanceReqDetails, sdncUserDetails, resourceDetailsVF_02.getUniqueId(),
358 ComponentTypeEnum.RESOURCE);
359 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
360 createResourceInstanceResponse.getErrorCode().intValue());
361 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
365 public void createVfcInstance_UserIdIsNonAsdcUser() throws Exception {
367 User sdncUserDetails = new User();
368 sdncUserDetails.setUserId("bt4567");
369 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
370 .getComponentResourceInstance(resourceDetailsVFC_01);
371 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
372 resourceInstanceReqDetails, sdncUserDetails, resourceDetailsVF_02.getUniqueId(),
373 ComponentTypeEnum.RESOURCE);
374 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
375 createResourceInstanceResponse.getErrorCode().intValue());
376 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
380 public void createAllAtomicInstances() throws Exception {
382 // Add to VF resource VFC, CP and VL instances
383 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
384 resourceDetailsVL_01, sdncDesignerDetails);
385 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
386 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCP_01,
387 sdncDesignerDetails);
388 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
389 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_01,
390 sdncDesignerDetails);
391 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
392 getComponentAndValidateRIs(resourceDetailsVF_02, 3, 0);
396 public void createDefferentVfcInstances() throws Exception {
398 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
399 resourceDetailsVFC_01, sdncDesignerDetails);
400 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
401 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_02,
402 sdncDesignerDetails);
403 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
404 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
408 public void createDefferentCpInstances() throws Exception {
410 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
411 resourceDetailsCP_01, sdncDesignerDetails);
412 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
413 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCP_02,
414 sdncDesignerDetails);
415 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
416 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
420 public void createDefferentVLInstances() throws Exception {
422 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
423 resourceDetailsVL_01, sdncDesignerDetails);
424 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
425 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVL_02,
426 sdncDesignerDetails);
427 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
428 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
432 public void createSeveralInstanceOfSameVFC() throws Exception {
434 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
435 resourceDetailsVFC_01, sdncDesignerDetails);
436 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
437 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_01,
438 sdncDesignerDetails);
439 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
440 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
444 public void createSeveralInstanceOfSameVL() throws Exception {
446 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
447 resourceDetailsVL_01, sdncDesignerDetails);
448 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
449 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVL_01,
450 sdncDesignerDetails);
451 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
452 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
456 public void createSeveralInstanceOfSameCP() throws Exception {
458 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
459 resourceDetailsCP_01, sdncDesignerDetails);
460 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
461 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCP_01,
462 sdncDesignerDetails);
463 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
464 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
468 public void createInstanceOfCpToVfc() throws Exception { // Add to CP to VFC
471 ComponentInstanceReqDetails resourceInstanceReqDetailsCP = ElementFactory
472 .getComponentResourceInstance(resourceDetailsCP_01);
473 ComponentInstanceReqDetails resourceInstanceReqDetailsVFC = ElementFactory
474 .getComponentResourceInstance(resourceDetailsVFC_01);
475 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
476 resourceInstanceReqDetailsCP, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
477 ComponentTypeEnum.RESOURCE);
478 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
479 ComponentInstance componentInstance = ResponseParser
480 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
481 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
482 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
483 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
484 resourceInstanceReqDetailsCP, sdncDesignerDetails, resourceInstanceReqDetailsVFC.getUniqueId(),
485 ComponentTypeEnum.RESOURCE);
486 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
487 createResourceInstanceResponse.getErrorCode().intValue());
488 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
492 public void createInstanceVfcToCp() throws Exception { // (not allowed)
494 ComponentInstanceReqDetails resourceInstanceReqDetailsCP = ElementFactory
495 .getComponentResourceInstance(resourceDetailsCP_01);
496 ComponentInstanceReqDetails resourceInstanceReqDetailsVFC = ElementFactory
497 .getComponentResourceInstance(resourceDetailsVFC_01);
498 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
499 resourceInstanceReqDetailsCP, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
500 ComponentTypeEnum.RESOURCE);
501 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
502 ComponentInstance componentInstance = ResponseParser
503 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
504 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
505 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
506 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
507 resourceInstanceReqDetailsVFC, sdncDesignerDetails, resourceInstanceReqDetailsCP.getUniqueId(),
508 ComponentTypeEnum.RESOURCE);
509 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
510 createResourceInstanceResponse.getErrorCode().intValue());
511 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
515 public void createInstanceVlToVfc() throws Exception {
517 ComponentInstanceReqDetails resourceInstanceReqDetailsVL = ElementFactory
518 .getComponentResourceInstance(resourceDetailsVL_01);
519 ComponentInstanceReqDetails resourceInstanceReqDetailsVFC = ElementFactory
520 .getComponentResourceInstance(resourceDetailsVFC_01);
521 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
522 resourceInstanceReqDetailsVFC, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
523 ComponentTypeEnum.RESOURCE);
524 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
525 ComponentInstance componentInstance = ResponseParser
526 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
527 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
528 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
529 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
530 resourceInstanceReqDetailsVL, sdncDesignerDetails, resourceInstanceReqDetailsVFC.getUniqueId(),
531 ComponentTypeEnum.RESOURCE);
532 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
533 createResourceInstanceResponse.getErrorCode().intValue());
534 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
538 public void createInstanceToNonSupportedComponentType() throws Exception {
540 ComponentInstanceReqDetails resourceInstanceReqDetailsCP = ElementFactory
541 .getComponentResourceInstance(resourceDetailsCP_01);
542 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
543 resourceInstanceReqDetailsCP, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
544 ComponentTypeEnum.RESOURCE_INSTANCE);
545 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_INVALID_CONTENT,
546 createResourceInstanceResponse.getErrorCode().intValue());
547 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
550 // ("Create instance without position is allowed")
552 public void createInstanceOfVlWithoutPosXAndPosY() throws Exception { // instance
558 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
559 .getComponentResourceInstance(resourceDetailsVL_01);
560 resourceInstanceReqDetails.setPosX("");
561 resourceInstanceReqDetails.setPosY("");
562 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
563 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
564 ComponentTypeEnum.RESOURCE);
565 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
566 ComponentInstance componentInstance = ResponseParser
567 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
568 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
569 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
572 // Create instance without position is allowed")
574 public void createInstanceOfVlWithPositionNull() throws Exception { // instance
580 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
581 .getComponentResourceInstance(resourceDetailsVL_01);
582 resourceInstanceReqDetails.setPosX(null);
583 resourceInstanceReqDetails.setPosY(null);
584 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
585 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
586 ComponentTypeEnum.RESOURCE);
587 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
588 ComponentInstance componentInstance = ResponseParser
589 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
590 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
591 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
595 public void createResourceInstanceForNonCheckedOutVF() throws Exception {
597 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncAdminDetails,
598 "0.1", LifeCycleStatesEnum.CHECKIN);
599 resourceDetailsVF_02.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
600 AssertJUnit.assertEquals("Check response code after create user", STATUS_CODE_SUCCESS,
601 checkInResponse.getErrorCode().intValue());
602 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
603 .getComponentResourceInstance(resourceDetailsVFC_01);
604 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
605 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
606 ComponentTypeEnum.RESOURCE);
607 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
608 createResourceInstanceResponse.getErrorCode().intValue());
612 public void createResourceInstanceVfCheckedOutByOtherUser() throws Exception {
614 // Admin try to add RI to VF which is checked-Out By Designer
615 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
616 .getComponentResourceInstance(resourceDetailsVFC_01);
617 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
618 resourceInstanceReqDetails, sdncAdminDetails, resourceDetailsVF_02.getUniqueId(),
619 ComponentTypeEnum.RESOURCE);
620 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
621 createResourceInstanceResponse.getErrorCode().intValue());
622 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
626 public void createResourceInstanceForNonExistingVF() throws Exception {
628 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
629 .getComponentResourceInstance(resourceDetailsVFC_01);
630 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
631 resourceInstanceReqDetails, sdncDesignerDetails, "blablabla", ComponentTypeEnum.RESOURCE);
632 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
633 createResourceInstanceResponse.getErrorCode().intValue());
634 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
639 public void deleteVfcInstanceByDesigner() throws Exception {
642 RestResponse createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_02,
643 resourceDetailsVFC_01, sdncDesignerDetails);
644 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
645 String compInstId = ResponseParser.getUniqueIdFromResponse(createResourceInstanceResponse);
646 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
647 // Delete Resource instance
648 RestResponse deleteResourceInstanceResponse = deleteAtomicInstanceForVF(compInstId, resourceDetailsVF_02,
649 sdncDesignerDetails);
650 ResourceRestUtils.checkDeleteResponse(deleteResourceInstanceResponse);
651 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
655 public void deleteVfcInstanceByAdmin() throws Exception {
656 createVF(resourceDetailsVF_01, sdncAdminDetails);
657 RestResponse createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_01,
658 resourceDetailsVL_01, sdncAdminDetails);
659 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
660 String compInstId = ResponseParser.getUniqueIdFromResponse(createResourceInstanceResponse);
661 getComponentAndValidateRIs(resourceDetailsVF_01, 1, 0);
662 // Delete Resource instance
663 RestResponse deleteResourceInstanceResponse = deleteAtomicInstanceForVF(compInstId, resourceDetailsVF_01,
665 ResourceRestUtils.checkDeleteResponse(deleteResourceInstanceResponse);
666 getComponentAndValidateRIs(resourceDetailsVF_01, 0, 0);
670 public void deleteCpInstance() throws Exception {
672 RestResponse createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_02,
673 resourceDetailsCP_01, sdncDesignerDetails);
674 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
675 String compInstId = ResponseParser.getUniqueIdFromResponse(createResourceInstanceResponse);
676 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
677 // Delete Resource instance
678 RestResponse deleteResourceInstanceResponse = deleteAtomicInstanceForVF(compInstId, resourceDetailsVF_02,
679 sdncDesignerDetails);
680 ResourceRestUtils.checkDeleteResponse(deleteResourceInstanceResponse);
681 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
685 public void deleteVlInstance() throws Exception {
687 RestResponse createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_02,
688 resourceDetailsVL_01, sdncDesignerDetails);
689 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
690 String compInstId = ResponseParser.getUniqueIdFromResponse(createResourceInstanceResponse);
691 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
692 // Delete Resource instance
693 RestResponse deleteResourceInstanceResponse = deleteAtomicInstanceForVF(compInstId, resourceDetailsVF_02,
694 sdncDesignerDetails);
695 ResourceRestUtils.checkDeleteResponse(deleteResourceInstanceResponse);
696 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
700 public void deleteOneVlInstance() throws Exception {
703 RestResponse createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_02,
704 resourceDetailsVL_01, sdncDesignerDetails);
705 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
706 String compInstId = ResponseParser.getUniqueIdFromResponse(createResourceInstanceResponse);
707 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
709 createResourceInstanceResponse = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVL_01,
710 sdncDesignerDetails);
711 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
712 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
713 // Delete Resource instance RI-1
714 RestResponse deleteResourceInstanceResponse = deleteAtomicInstanceForVF(compInstId, resourceDetailsVF_02,
715 sdncDesignerDetails);
716 ResourceRestUtils.checkDeleteResponse(deleteResourceInstanceResponse);
717 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
721 public void deleteVfcInstanceCheckedByOtherUser() throws Exception {
723 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
724 .getComponentResourceInstance(resourceDetailsVL_01);
725 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
726 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
727 ComponentTypeEnum.RESOURCE);
728 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
729 ComponentInstance componentInstance = ResponseParser
730 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
731 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
732 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
733 // Delete Resource instance
734 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
735 sdncTesterDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
736 ComponentTypeEnum.RESOURCE);
737 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
738 deleteResourceInstanceResponse.getErrorCode().intValue());
739 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
743 public void deleteInstanceNonSupportedComponentType() throws Exception {
745 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
746 .getComponentResourceInstance(resourceDetailsVL_01);
747 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
748 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
749 ComponentTypeEnum.RESOURCE);
750 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
751 ComponentInstance componentInstance = ResponseParser
752 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
753 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
754 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
755 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
756 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
757 ComponentTypeEnum.RESOURCE_INSTANCE);
758 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_INVALID_CONTENT,
759 deleteResourceInstanceResponse.getErrorCode().intValue());
760 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
764 public void deleteInstanceFromNonVF() throws Exception {
767 ComponentInstanceReqDetails resourceInstanceVlReqDetails = ElementFactory
768 .getComponentResourceInstance(resourceDetailsVL_01);
769 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
770 resourceInstanceVlReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
771 ComponentTypeEnum.RESOURCE);
772 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
773 ComponentInstance componentInstance1 = ResponseParser
774 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
775 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
777 ComponentInstanceReqDetails resourceInstanceCplReqDetails = ElementFactory
778 .getComponentResourceInstance(resourceDetailsCP_01);
779 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
780 resourceInstanceCplReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
781 ComponentTypeEnum.RESOURCE);
782 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
783 ComponentInstance componentInstance2 = ResponseParser
784 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
785 addCompInstReqCapToExpected(componentInstance2, ComponentTypeEnum.RESOURCE);
786 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
787 // Delete VL instance from CP instance
788 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
789 sdncDesignerDetails, resourceInstanceCplReqDetails.getUniqueId(),
790 resourceInstanceVlReqDetails.getUniqueId(), ComponentTypeEnum.RESOURCE);
791 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
792 deleteResourceInstanceResponse.getErrorCode().intValue());
793 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
797 public void deleteNonExistingInstanceFromVF() throws Exception {
799 ComponentInstanceReqDetails resourceInstanceVlReqDetails = ElementFactory
800 .getComponentResourceInstance(resourceDetailsVL_01);
801 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
802 resourceInstanceVlReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
803 ComponentTypeEnum.RESOURCE);
804 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
805 ComponentInstance componentInstance1 = ResponseParser
806 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
807 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
808 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
809 resourceInstanceVlReqDetails.setUniqueId("1234567890");
810 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
811 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceVlReqDetails.getUniqueId(),
812 ComponentTypeEnum.RESOURCE);
813 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
814 deleteResourceInstanceResponse.getErrorCode().intValue());
815 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
819 public void deleteCpInstanceFromNonCheckOutVF() throws Exception {
821 ComponentInstanceReqDetails resourceInstanceCpReqDetails = ElementFactory
822 .getComponentResourceInstance(resourceDetailsCP_01);
823 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
824 resourceInstanceCpReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
825 ComponentTypeEnum.RESOURCE);
826 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
827 ComponentInstance componentInstance1 = ResponseParser
828 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
829 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
830 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
831 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncDesignerDetails,
832 "0.1", LifeCycleStatesEnum.CHECKIN);
833 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
834 checkInResponse.getErrorCode().intValue());
835 resourceDetailsVF_02.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
836 // Delete Resource instance
837 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
838 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceCpReqDetails.getUniqueId(),
839 ComponentTypeEnum.RESOURCE);
840 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
841 deleteResourceInstanceResponse.getErrorCode().intValue());
842 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
846 public void deleteVlInstanceFromNonCheckOutVF() throws Exception {
848 ComponentInstanceReqDetails resourceInstanceVlReqDetails = ElementFactory
849 .getComponentResourceInstance(resourceDetailsVL_01);
850 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
851 resourceInstanceVlReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
852 ComponentTypeEnum.RESOURCE);
853 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
854 ComponentInstance componentInstance1 = ResponseParser
855 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
856 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
857 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
858 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncDesignerDetails,
859 "0.1", LifeCycleStatesEnum.CHECKIN);
860 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
861 checkInResponse.getErrorCode().intValue());
862 resourceDetailsVF_02.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
863 // Delete Resource instance
864 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
865 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceVlReqDetails.getUniqueId(),
866 ComponentTypeEnum.RESOURCE);
867 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
868 deleteResourceInstanceResponse.getErrorCode().intValue());
869 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
873 public void deleteVfcInstanceFromNonCheckOutVF() throws Exception {
875 ComponentInstanceReqDetails resourceInstanceVfcReqDetails = ElementFactory
876 .getComponentResourceInstance(resourceDetailsVFC_01);
877 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
878 resourceInstanceVfcReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
879 ComponentTypeEnum.RESOURCE);
880 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
881 ComponentInstance componentInstance1 = ResponseParser
882 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
883 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
884 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
885 RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncDesignerDetails,
886 "0.1", LifeCycleStatesEnum.CHECKIN);
887 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
888 checkInResponse.getErrorCode().intValue());
889 resourceDetailsVF_02.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
890 // Delete Resource instance
891 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
892 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceVfcReqDetails.getUniqueId(),
893 ComponentTypeEnum.RESOURCE);
894 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
895 deleteResourceInstanceResponse.getErrorCode().intValue());
896 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
900 public void deleteVlInstance_UserIdIsNonAsdcUser() throws Exception {
902 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
903 .getComponentResourceInstance(resourceDetailsVL_01);
904 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
905 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
906 ComponentTypeEnum.RESOURCE);
907 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
908 ComponentInstance componentInstance = ResponseParser
909 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
910 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
911 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
912 // Delete Resource instance by non-ASDC User
913 User sdncUserDetails = new User();
914 sdncUserDetails.setUserId("bt4567");
915 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
916 sdncUserDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
917 ComponentTypeEnum.RESOURCE);
918 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
919 deleteResourceInstanceResponse.getErrorCode().intValue());
920 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
924 public void deleteAlreadyDeletedInstance() throws Exception {
926 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
927 .getComponentResourceInstance(resourceDetailsVL_01);
928 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
929 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
930 ComponentTypeEnum.RESOURCE);
931 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
932 ComponentInstance componentInstance = ResponseParser
933 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
934 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
935 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
936 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
937 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
938 ComponentTypeEnum.RESOURCE);
939 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_DELETE,
940 deleteResourceInstanceResponse.getErrorCode().intValue());
941 deleteCompInstReqCapFromExpected(componentInstance.getUniqueId());
942 getComponentAndValidateRIs(resourceDetailsVF_02, 0, 0);
943 deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(sdncDesignerDetails,
944 resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
945 ComponentTypeEnum.RESOURCE);
946 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
947 deleteResourceInstanceResponse.getErrorCode().intValue());
951 public void reCreateDeletedInstance() throws Exception {
954 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
955 .getComponentResourceInstance(resourceDetailsVFC_01);
956 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
957 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
958 ComponentTypeEnum.RESOURCE);
959 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
960 String instanceNormalizedName = ResponseParser
961 .getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "normalizedName");
962 String instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
964 ComponentInstance componentInstance = ResponseParser
965 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
966 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
967 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
968 (resourceDetailsVFC_01.getName() + "1").toLowerCase(), instanceNormalizedName);
969 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 1"),
971 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails,
972 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
973 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
974 instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
976 instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "name");
977 componentInstance = ResponseParser.parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(),
978 ComponentInstance.class);
979 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
980 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
981 (resourceDetailsVFC_01.getName() + "2").toLowerCase(), instanceNormalizedName);
982 AssertJUnit.assertEquals("check Resource Instance normalizedName ", (resourceDetailsVFC_01.getName() + " 2"),
984 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
985 // Delete one instance
986 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(
987 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), resourceInstanceReqDetails.getUniqueId(),
988 ComponentTypeEnum.RESOURCE);
989 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_DELETE,
990 deleteResourceInstanceResponse.getErrorCode().intValue());
991 deleteCompInstReqCapFromExpected(componentInstance.getUniqueId());
992 // Create same instance again
993 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails,
994 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
995 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
996 instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(),
998 instanceName = ResponseParser.getValueFromJsonResponse(createResourceInstanceResponse.getResponse(), "name");
999 componentInstance = ResponseParser.parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(),
1000 ComponentInstance.class);
1001 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1002 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
1003 (resourceDetailsVFC_01.getName() + "3").toLowerCase(), instanceNormalizedName);
1004 AssertJUnit.assertEquals("check Resource Instance Name ", (resourceDetailsVFC_01.getName() + " 3"),
1011 public void updateVfcInstanceNameByDesigner() throws Exception {
1013 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1014 .getComponentResourceInstance(resourceDetailsVFC_01);
1015 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1016 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1017 ComponentTypeEnum.RESOURCE);
1018 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1019 ComponentInstance componentInstance = ResponseParser
1020 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1021 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1022 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1023 vfcResourceInstanceReqDetails.setName("abcd");
1024 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1025 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1026 ComponentTypeEnum.RESOURCE);
1027 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1028 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1029 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1030 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1032 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1033 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName, "abcd");
1034 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, "abcd");
1038 public void updateVfcInstanceNameByAdmin() throws Exception {
1039 User user = sdncAdminDetails;
1040 createVF(resourceDetailsVF_01, user);
1041 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1042 .getComponentResourceInstance(resourceDetailsVFC_01);
1043 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1044 vfcResourceInstanceReqDetails, sdncAdminDetails, resourceDetailsVF_01.getUniqueId(),
1045 ComponentTypeEnum.RESOURCE);
1046 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1047 ComponentInstance componentInstance = ResponseParser
1048 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1049 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1050 getComponentAndValidateRIs(resourceDetailsVF_01, 1, 0);
1051 vfcResourceInstanceReqDetails.setName("ABCD E");
1052 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1053 vfcResourceInstanceReqDetails, sdncAdminDetails, resourceDetailsVF_01.getUniqueId(),
1054 ComponentTypeEnum.RESOURCE);
1055 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1056 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1057 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1058 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1060 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1061 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName, "abcde");
1062 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, "ABCD E");
1066 public void updateInstanceNameAllowedCharacters() throws Exception {
1067 // Allowed characters: Alphanumeric (a-zA-Z0-9), space (' '), underscore
1068 // ('_'), dash ('-'), dot ('.'))
1070 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1071 .getComponentResourceInstance(resourceDetailsVFC_01);
1072 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1073 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1074 ComponentTypeEnum.RESOURCE);
1075 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1076 ComponentInstance componentInstance = ResponseParser
1077 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1078 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1079 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1080 vfcResourceInstanceReqDetails.setName("Abcd_1234567890-qwert-yuiop.zxcvb");
1081 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1082 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1083 ComponentTypeEnum.RESOURCE);
1084 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1085 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1086 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1087 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1089 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1090 // assertEquals("Check if RI normalizedName is correct ",
1091 // riNormalizedName, "abcd_1234567890-qwert-yuiop.zxcv" );
1092 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, "Abcd_1234567890-qwert-yuiop.zxcvb");
1093 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName,
1094 "abcd1234567890qwertyuiopzxcvb");
1099 public void updateVfcInstanceNameEmpty() throws Exception {
1100 // see US534663 In case a designer removes the current resource instance
1101 // name then BE has to generate again the "default" resource instance
1104 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1105 .getComponentResourceInstance(resourceDetailsVFC_01);
1106 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1107 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1108 ComponentTypeEnum.RESOURCE);
1109 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1110 ComponentInstance componentInstance = ResponseParser
1111 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1112 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1113 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1114 String newName = "";
1115 vfcResourceInstanceReqDetails.setName(newName);
1116 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1117 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1118 ComponentTypeEnum.RESOURCE);
1119 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1120 String instanceNormalizedName = ResponseParser
1121 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "normalizedName");
1122 String instanceName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1124 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
1125 (resourceDetailsVFC_01.getName() + "2").toLowerCase(), instanceNormalizedName);
1126 AssertJUnit.assertEquals("check Resource Instance normalizedName ", (resourceDetailsVFC_01.getName() + " 2"),
1131 public void updateVfcInstanceNameNull() throws Exception {
1132 // see US534663 In case a designer removes the current resource instance
1133 // name then BE has to generate again the "default" resource instance
1136 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1137 .getComponentResourceInstance(resourceDetailsVFC_01);
1138 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1139 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1140 ComponentTypeEnum.RESOURCE);
1141 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1142 ComponentInstance componentInstance = ResponseParser
1143 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1144 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1145 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1146 String newName = null;
1147 vfcResourceInstanceReqDetails.setName(newName);
1148 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1149 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1150 ComponentTypeEnum.RESOURCE);
1151 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1152 final String updateResponse = updateResourceInstanceResponse.getResponse();
1153 String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(updateResponse, "normalizedName");
1154 String instanceName = ResponseParser.getValueFromJsonResponse(updateResponse, "name");
1155 AssertJUnit.assertEquals("check Resource Instance normalizedName ",
1156 (resourceDetailsVFC_01.getName() + "2").toLowerCase(), instanceNormalizedName);
1157 AssertJUnit.assertEquals("check Resource Instance normalizedName ", (resourceDetailsVFC_01.getName() + " 2"),
1162 public void updateCpInstanceName() throws Exception {
1164 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1165 .getComponentResourceInstance(resourceDetailsCP_01);
1166 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1167 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1168 ComponentTypeEnum.RESOURCE);
1169 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1170 ComponentInstance componentInstance = ResponseParser
1171 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1172 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1173 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1174 vfcResourceInstanceReqDetails.setName("AbcD");
1175 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1176 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1177 ComponentTypeEnum.RESOURCE);
1178 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1179 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1180 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1181 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1183 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1184 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName, "abcd");
1185 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, "AbcD");
1189 public void updateVlInstanceName() throws Exception {
1191 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1192 .getComponentResourceInstance(resourceDetailsVL_01);
1193 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1194 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1195 ComponentTypeEnum.RESOURCE);
1196 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1197 ComponentInstance componentInstance = ResponseParser
1198 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1199 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1200 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1201 vfcResourceInstanceReqDetails.setName("ABCD");
1202 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1203 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1204 ComponentTypeEnum.RESOURCE);
1205 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1206 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1207 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1208 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1210 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1211 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName, "abcd");
1212 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, "ABCD");
1216 public void updateInstanceNameToArleadyExistInstanceName02() throws Exception {
1218 // Create VFC instance
1219 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1220 .getComponentResourceInstance(resourceDetailsVFC_01);
1221 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1222 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1223 ComponentTypeEnum.RESOURCE);
1224 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1225 ComponentInstance vfcComponentInstance = ResponseParser
1226 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1227 addCompInstReqCapToExpected(vfcComponentInstance, ComponentTypeEnum.RESOURCE);
1228 // Create CP instance
1229 ComponentInstanceReqDetails cpResourceInstanceReqDetails = ElementFactory
1230 .getComponentResourceInstance(resourceDetailsCP_01);
1231 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1232 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1233 ComponentTypeEnum.RESOURCE);
1234 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1235 ComponentInstance cpComponentInstance = ResponseParser
1236 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1237 addCompInstReqCapToExpected(cpComponentInstance, ComponentTypeEnum.RESOURCE);
1238 getComponentAndValidateRIs(resourceDetailsVF_02, 2, 0);
1239 cpResourceInstanceReqDetails.setName(vfcComponentInstance.getName());
1240 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1241 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1242 ComponentTypeEnum.RESOURCE);
1243 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_ALREADY_EXISTS,
1244 updateResourceInstanceResponse.getErrorCode().intValue());
1248 public void updateInstanceNameMaxLength() throws Exception {
1250 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1251 .getComponentResourceInstance(resourceDetailsVFC_01);
1252 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1253 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1254 ComponentTypeEnum.RESOURCE);
1255 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1256 ComponentInstance componentInstance = ResponseParser
1257 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1258 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1259 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1260 String newName = "Qwertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl12345";
1261 vfcResourceInstanceReqDetails.setName(newName);
1262 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1263 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1264 ComponentTypeEnum.RESOURCE);
1265 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1266 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1267 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1268 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1270 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1271 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName, newName.toLowerCase());
1272 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, newName);
1276 public void updateInstanceNameExceedMaxLength() throws Exception {
1278 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1279 .getComponentResourceInstance(resourceDetailsVFC_01);
1280 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1281 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1282 ComponentTypeEnum.RESOURCE);
1283 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1284 ComponentInstance componentInstance = ResponseParser
1285 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1286 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1287 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1288 String newName = "Qwertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl123456";
1289 vfcResourceInstanceReqDetails.setName(newName);
1290 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1291 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1292 ComponentTypeEnum.RESOURCE);
1293 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_COMPONENT_NAME_EXCEEDS_LIMIT,
1294 updateResourceInstanceResponse.getErrorCode().intValue());
1295 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1299 public void updateCpInstanceCheckedByOtherUser() throws Exception {
1301 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
1302 .getComponentResourceInstance(resourceDetailsVL_01);
1303 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1304 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1305 ComponentTypeEnum.RESOURCE);
1306 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1307 ComponentInstance componentInstance = ResponseParser
1308 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1309 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1310 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1311 String newName = "Qwertyuiop1234567890";
1312 resourceInstanceReqDetails.setName(newName);
1313 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1314 resourceInstanceReqDetails, sdncAdminDetails, resourceDetailsVF_02.getUniqueId(),
1315 ComponentTypeEnum.RESOURCE);
1316 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
1317 updateResourceInstanceResponse.getErrorCode().intValue());
1318 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1322 public void UpdateVfcInstance_UserIdIsNonAsdcUser() throws Exception {
1324 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
1325 .getComponentResourceInstance(resourceDetailsVL_01);
1326 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1327 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1328 ComponentTypeEnum.RESOURCE);
1329 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1330 ComponentInstance componentInstance = ResponseParser
1331 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1332 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1333 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1334 String newName = "Qwertyuiop1234567890";
1335 resourceInstanceReqDetails.setName(newName);
1336 User nonSdncUserDetails = new User();
1337 nonSdncUserDetails.setUserId("bt4567");
1338 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1339 resourceInstanceReqDetails, nonSdncUserDetails, resourceDetailsVF_02.getUniqueId(),
1340 ComponentTypeEnum.RESOURCE);
1341 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION,
1342 updateResourceInstanceResponse.getErrorCode().intValue());
1343 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1347 public void UpdateResourceInstanceFormNonExistingVF() throws Exception {
1349 ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory
1350 .getComponentResourceInstance(resourceDetailsVL_01);
1351 // LifecycleRestUtils.changeResourceState(resourceDetailsVL_01,
1352 // sdncAdminDetails, "0.1", LifeCycleStatesEnum.CHECKIN);
1353 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1354 resourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1355 ComponentTypeEnum.RESOURCE);
1356 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1357 ComponentInstance componentInstance = ResponseParser
1358 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1359 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1360 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1361 String newName = "Qwertyuiop1234567890";
1362 resourceInstanceReqDetails.setName(newName);
1363 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1364 resourceInstanceReqDetails, sdncDesignerDetails, "blablabla", ComponentTypeEnum.RESOURCE);
1365 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
1366 updateResourceInstanceResponse.getErrorCode().intValue());
1370 public void updateNonExistingInstanceFromVF() throws Exception {
1372 ComponentInstanceReqDetails resourceInstanceVlReqDetails = ElementFactory
1373 .getComponentResourceInstance(resourceDetailsVL_01);
1374 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1375 resourceInstanceVlReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1376 ComponentTypeEnum.RESOURCE);
1377 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1378 ComponentInstance componentInstance1 = ResponseParser
1379 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1380 addCompInstReqCapToExpected(componentInstance1, ComponentTypeEnum.RESOURCE);
1381 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1382 resourceInstanceVlReqDetails.setUniqueId("1234567890");
1383 // String newName= "Qwertyuiop1234567890";
1384 // resourceInstanceVlReqDetails.setName(newName);
1385 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1386 resourceInstanceVlReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1387 ComponentTypeEnum.RESOURCE);
1388 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
1389 updateResourceInstanceResponse.getErrorCode().intValue());
1394 public void updateVfcInstanceNameAsVfName() throws Exception {
1396 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1397 .getComponentResourceInstance(resourceDetailsVFC_01);
1398 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1399 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1400 ComponentTypeEnum.RESOURCE);
1401 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1402 ComponentInstance componentInstance = ResponseParser
1403 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1404 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1405 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1406 vfcResourceInstanceReqDetails.setName(resourceDetailsVF_02.getName());
1407 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1408 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1409 ComponentTypeEnum.RESOURCE);
1410 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1411 String resourceNameFromJsonResponse = ResponseParser.getNameFromResponse(updateResourceInstanceResponse);
1412 AssertJUnit.assertEquals(resourceNameFromJsonResponse, vfcResourceInstanceReqDetails.getName());
1413 String riNormalizedName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1415 String riName = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "name");
1416 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riNormalizedName,
1417 resourceDetailsVF_02.getName().toLowerCase());
1418 AssertJUnit.assertEquals("Check if RI normalizedName is correct ", riName, resourceDetailsVF_02.getName());
1422 public void updateInstanceNameInvalidCharacters() throws Exception {
1423 char invalidChars[] = { '~', '!', '$', '%', '^', '*', '(', ')', '"', '{', '}', '[', ']', '?', '>', '<', '/',
1426 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1427 .getComponentResourceInstance(resourceDetailsVFC_01);
1428 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1429 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1430 ComponentTypeEnum.RESOURCE);
1431 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1432 String newName = "Abcd1";
1434 for (int i = 0; i < invalidChars.length; i++) {
1435 updateName = newName + invalidChars[i];
1436 vfcResourceInstanceReqDetails.setName(updateName);
1437 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1438 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1439 ComponentTypeEnum.RESOURCE);
1440 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_INVALID_CONTENT,
1441 updateResourceInstanceResponse.getErrorCode().intValue());
1447 public void updateVfcInstancePosition() throws Exception {
1449 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1450 .getComponentResourceInstance(resourceDetailsVFC_01);
1451 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1452 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1453 ComponentTypeEnum.RESOURCE);
1454 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1455 ComponentInstance componentInstance = ResponseParser
1456 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1457 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1458 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1459 String updatePosX = "130";
1460 String updatePosY = "180";
1461 vfcResourceInstanceReqDetails.setPosX(updatePosX);
1462 vfcResourceInstanceReqDetails.setPosY(updatePosY);
1463 vfcResourceInstanceReqDetails.setName(null);
1464 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1465 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1466 ComponentTypeEnum.RESOURCE);
1467 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1468 String posXFromJsonResponse = ResponseParser
1469 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posX");
1470 String posYFromJsonResponse = ResponseParser
1471 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posY");
1472 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1473 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1477 public void updateVlInstancePosition() throws Exception {
1479 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1480 .getComponentResourceInstance(resourceDetailsVL_01);
1481 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1482 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1483 ComponentTypeEnum.RESOURCE);
1484 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1485 ComponentInstance componentInstance = ResponseParser
1486 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1487 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1488 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1489 String updatePosX = "130";
1490 String updatePosY = "180";
1491 vfcResourceInstanceReqDetails.setPosX(updatePosX);
1492 vfcResourceInstanceReqDetails.setPosY(updatePosY);
1493 vfcResourceInstanceReqDetails.setName(null);
1494 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1495 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1496 ComponentTypeEnum.RESOURCE);
1497 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1498 String posXFromJsonResponse = ResponseParser
1499 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posX");
1500 String posYFromJsonResponse = ResponseParser
1501 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posY");
1502 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1503 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1507 public void updateCpInstancePosition() throws Exception {
1509 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1510 .getComponentResourceInstance(resourceDetailsCP_01);
1511 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1512 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1513 ComponentTypeEnum.RESOURCE);
1514 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1515 ComponentInstance componentInstance = ResponseParser
1516 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1517 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1518 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1519 String updatePosX = "130";
1520 String updatePosY = "180";
1521 vfcResourceInstanceReqDetails.setPosX(updatePosX);
1522 vfcResourceInstanceReqDetails.setPosY(updatePosY);
1523 vfcResourceInstanceReqDetails.setName(null);
1524 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1525 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1526 ComponentTypeEnum.RESOURCE);
1527 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1528 String posXFromJsonResponse = ResponseParser
1529 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posX");
1530 String posYFromJsonResponse = ResponseParser
1531 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posY");
1532 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1533 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1537 public void updateInstancePositionNegativePosition() throws Exception {
1539 ComponentInstanceReqDetails cpResourceInstanceReqDetails = ElementFactory
1540 .getComponentResourceInstance(resourceDetailsCP_01);
1541 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1542 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1543 ComponentTypeEnum.RESOURCE);
1544 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1545 ComponentInstance componentInstance = ResponseParser
1546 .parseToObjectUsingMapper(createResourceInstanceResponse.getResponse(), ComponentInstance.class);
1547 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.RESOURCE);
1548 getComponentAndValidateRIs(resourceDetailsVF_02, 1, 0);
1549 String updatePosX = "-100";
1550 String updatePosY = "-100";
1551 cpResourceInstanceReqDetails.setPosX(updatePosX);
1552 cpResourceInstanceReqDetails.setPosY(updatePosY);
1553 cpResourceInstanceReqDetails.setName(null);
1554 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1555 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1556 ComponentTypeEnum.RESOURCE);
1557 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1558 String posXFromJsonResponse = ResponseParser
1559 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posX");
1560 String posYFromJsonResponse = ResponseParser
1561 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posY");
1562 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1563 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1567 public void updateInstancesPositionSameLocationForBothInstances() throws Exception {
1569 ComponentInstanceReqDetails cpResourceInstanceReqDetails = ElementFactory
1570 .getComponentResourceInstance(resourceDetailsCP_01);
1571 RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1572 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1573 ComponentTypeEnum.RESOURCE);
1574 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1575 ComponentInstanceReqDetails vfcResourceInstanceReqDetails = ElementFactory
1576 .getComponentResourceInstance(resourceDetailsVFC_01);
1577 createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(
1578 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1579 ComponentTypeEnum.RESOURCE);
1580 ResourceRestUtils.checkCreateResponse(createResourceInstanceResponse);
1581 String updatePosX = "100";
1582 String updatePosY = "500";
1583 vfcResourceInstanceReqDetails.setPosX(updatePosX);
1584 vfcResourceInstanceReqDetails.setPosY(updatePosY);
1585 vfcResourceInstanceReqDetails.setName(null);
1586 cpResourceInstanceReqDetails.setPosX(updatePosX);
1587 cpResourceInstanceReqDetails.setPosY(updatePosY);
1588 cpResourceInstanceReqDetails.setName(null);
1589 RestResponse updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1590 vfcResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1591 ComponentTypeEnum.RESOURCE);
1592 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1593 String posXFromJsonResponse = ResponseParser
1594 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posX");
1595 String posYFromJsonResponse = ResponseParser
1596 .getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(), "posY");
1597 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1598 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1599 updateResourceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(
1600 cpResourceInstanceReqDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(),
1601 ComponentTypeEnum.RESOURCE);
1602 ResourceRestUtils.checkSuccess(updateResourceInstanceResponse);
1603 posXFromJsonResponse = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1605 posYFromJsonResponse = ResponseParser.getValueFromJsonResponse(updateResourceInstanceResponse.getResponse(),
1607 AssertJUnit.assertEquals(posXFromJsonResponse, updatePosX);
1608 AssertJUnit.assertEquals(posYFromJsonResponse, updatePosY);
1612 public void createAllAtomicInstancesTestGetReqCapAPI_suc() throws Exception {
1614 // Add to VF resource VFC, CP and VL instances
1615 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
1616 resourceDetailsVL_01, sdncDesignerDetails);
1617 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1618 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCP_01,
1619 sdncDesignerDetails);
1620 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1621 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_01,
1622 sdncDesignerDetails);
1623 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1625 getVfResourceReqCapUsingAPI(3, 0, sdncDesignerDetails);
1632 public void createAllAtomicInstancesTestGetReqCapAPIfailed() throws Exception {
1634 // Add to VF resource VFC, CP and VL instances
1635 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
1636 resourceDetailsVL_01, sdncDesignerDetails);
1637 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1638 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCP_01,
1639 sdncDesignerDetails);
1640 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1641 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_01,
1642 sdncDesignerDetails);
1643 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1644 resourceDetailsVF_02.setUniqueId("dummy");
1645 RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncAdminDetails,
1646 resourceDetailsVF_02);
1647 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND,
1648 getResourceResponse.getErrorCode().intValue());
1653 public void associateInVF() throws Exception {
1655 ResourceReqDetails resourceDetailsReq = ElementFactory.getDefaultResourceByType("SoftCompRouter",
1656 NormativeTypesEnum.SOFTWARE_COMPONENT, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS,
1657 sdncDesignerDetails.getUserId(), ResourceTypeEnum.VFC); // resourceType
1659 ResourceReqDetails resourceDetailsCap = ElementFactory.getDefaultResourceByType("MyComput",
1660 NormativeTypesEnum.COMPUTE, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, sdncDesignerDetails.getUserId(),
1661 ResourceTypeEnum.VFC); // resourceType = VFC
1662 createAtomicResource(resourceDetailsReq);
1663 LifecycleRestUtils.changeResourceState(resourceDetailsReq, sdncAdminDetails, "0.1",
1664 LifeCycleStatesEnum.CHECKIN);
1665 createAtomicResource(resourceDetailsCap);
1666 LifecycleRestUtils.changeResourceState(resourceDetailsCap, sdncAdminDetails, "0.1",
1667 LifeCycleStatesEnum.CHECKIN);
1669 RestResponse riReqR = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsReq, sdncDesignerDetails);
1670 ResourceRestUtils.checkCreateResponse(riReqR);
1671 RestResponse riCapR = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsCap, sdncDesignerDetails);
1672 ResourceRestUtils.checkCreateResponse(riCapR);
1674 ComponentInstance riReq = ResponseParser.parseToObject(riReqR.getResponse(), ComponentInstance.class);
1675 ComponentInstance riCap = ResponseParser.parseToObject(riCapR.getResponse(), ComponentInstance.class);
1677 RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails,
1678 resourceDetailsVF_02);
1680 CapReqDef capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class);
1682 List<CapabilityDefinition> capList = capReqDef.getCapabilities().get("tosca.capabilities.Container");
1683 List<RequirementDefinition> reqList = capReqDef.getRequirements().get("tosca.capabilities.Container");
1685 RequirementCapabilityRelDef requirementDef = new RequirementCapabilityRelDef();
1686 requirementDef.setFromNode(riReq.getUniqueId());
1687 requirementDef.setToNode(riCap.getUniqueId());
1689 RequirementAndRelationshipPair pair = new RequirementAndRelationshipPair();
1690 pair.setRequirementOwnerId(riReq.getUniqueId());
1691 pair.setCapabilityOwnerId(riCap.getUniqueId());
1692 pair.setRequirement("host");
1693 RelationshipImpl relationship = new RelationshipImpl();
1694 relationship.setType("tosca.capabilities.Container");
1695 pair.setRelationships(relationship);
1696 pair.setCapabilityUid(capList.get(0).getUniqueId());
1697 pair.setRequirementUid(reqList.get(0).getUniqueId());
1698 List<RequirementAndRelationshipPair> relationships = new ArrayList<>();
1699 relationships.add(pair);
1700 requirementDef.setRelationships(relationships);
1702 RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef,
1703 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
1704 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
1705 associateInstances.getErrorCode().intValue());
1707 getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails,
1708 resourceDetailsVF_02);
1709 capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class);
1711 List<RequirementDefinition> list = capReqDef.getRequirements().get("tosca.capabilities.Container");
1712 AssertJUnit.assertEquals("Check requirement", null, list);
1714 RestResponse dissociateInstances = ComponentInstanceRestUtils.dissociateInstances(requirementDef,
1715 sdncDesignerDetails, resourceDetailsVF_02.getUniqueId(), ComponentTypeEnum.RESOURCE);
1716 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
1717 dissociateInstances.getErrorCode().intValue());
1719 getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails,
1720 resourceDetailsVF_02);
1721 capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class);
1723 list = capReqDef.getRequirements().get("tosca.capabilities.Container");
1724 AssertJUnit.assertEquals("Check requirement", 1, list.size());
1729 public void testUnsatisfiedCpReqInVF() throws Exception {
1731 // Certify all the needed atomic resources
1732 RestResponse response = LifecycleRestUtils.certifyResource(resourceDetailsVFC_02);
1733 ResourceRestUtils.checkSuccess(response);
1734 response = LifecycleRestUtils.certifyResource(resourceDetailsCP_01);
1735 ResourceRestUtils.checkSuccess(response);
1737 ArtifactReqDetails heatArtifactDetails = ElementFactory
1738 .getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType());
1739 response = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails, sdncDesignerDetails,
1740 resourceDetailsVF_02.getUniqueId());
1741 ResourceRestUtils.checkSuccess(response);
1743 RestResponse createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02,
1744 resourceDetailsCP_01, sdncDesignerDetails);
1745 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1746 String compInstName = ResponseParser.getNameFromResponse(createAtomicResourceInstance);
1747 String cpCompInstId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance);
1749 RestResponse submitForTesting = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02,
1750 sdncDesignerDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1751 String[] variables = new String[] { resourceDetailsVF_02.getName(), "VF", "CP (Connection Point)", compInstName,
1752 "requirement", "tosca.capabilities.network.Bindable", "fulfilled" };
1753 BaseValidationUtils.checkErrorResponse(submitForTesting,
1754 ActionStatus.REQ_CAP_NOT_SATISFIED_BEFORE_CERTIFICATION, variables);
1756 createAtomicResourceInstance = createAtomicInstanceForVF(resourceDetailsVF_02, resourceDetailsVFC_02,
1757 sdncDesignerDetails);
1758 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1759 String computeCompInstId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance);
1760 fulfillCpRequirement(resourceDetailsVF_02, cpCompInstId, computeCompInstId, computeCompInstId,
1761 sdncDesignerDetails, ComponentTypeEnum.RESOURCE);
1763 submitForTesting = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncDesignerDetails,
1764 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1765 BaseValidationUtils.checkSuccess(submitForTesting);
1768 private void getVfResourceReqCapUsingAPI(int numberOfRIs, int numberOfRelations, User user)
1769 throws IOException, Exception {
1770 RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncAdminDetails,
1771 resourceDetailsVF_02);
1772 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_SUCCESS,
1773 getResourceResponse.getErrorCode().intValue());
1774 // ResourceValidationUtils.validateResp(getResourceResponse,
1775 // resourceRespJavaObject);
1776 // int numberOfActualRIs = resource.getComponentInstances()!=null ?
1777 // resource.getComponentInstances().size() : 0;
1778 // int numberOfActualRelations =
1779 // resource.getComponentInstancesRelations()!=null ?
1780 // resource.getComponentInstancesRelations().size() : 0;
1781 // assertEquals("Check number of RIs meet the expected number",
1782 // numberOfRIs ,numberOfActualRIs);
1783 // assertEquals("Check number of RI relations meet the expected number",
1784 // numberOfRelations ,numberOfActualRelations);
1786 //// get VF actual Capabilities and Requirements and validate according
1788 Resource vfResource = ResponseParser.parseToObjectUsingMapper(getResourceResponse.getResponse(),
1790 verifyReqCap(vfResource);