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.product;
23 import org.junit.Rule;
24 import org.junit.rules.TestName;
25 import org.openecomp.sdc.be.dao.api.ActionStatus;
26 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
27 import org.openecomp.sdc.be.model.ComponentInstance;
28 import org.openecomp.sdc.be.model.LifecycleStateEnum;
29 import org.openecomp.sdc.be.model.Product;
30 import org.openecomp.sdc.be.model.User;
31 import org.openecomp.sdc.ci.tests.api.ComponentInstanceBaseTest;
32 import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails;
33 import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails;
34 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
35 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
36 import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
37 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
38 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
39 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
40 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
41 import org.openecomp.sdc.ci.tests.utils.rest.*;
42 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
43 import org.testng.AssertJUnit;
44 import org.testng.annotations.BeforeMethod;
45 import org.testng.annotations.Test;
47 import java.util.ArrayList;
48 import java.util.List;
50 import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.*;
51 import static org.testng.AssertJUnit.assertEquals;
52 import static org.testng.AssertJUnit.assertTrue;
54 public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest {
56 protected ArtifactReqDetails heatArtifactDetails;
58 public static TestName name = new TestName();
60 public ProductComponentInstanceCRUDTest() {
61 super(name, ProductComponentInstanceCRUDTest.class.getName());
65 public void before() throws Exception {
70 private void createComponents() throws Exception {
72 heatArtifactDetails = ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType());
73 createAtomicResource(resourceDetailsVFC_01);
74 changeResourceStateToCertified(resourceDetailsVFC_01);
75 createAtomicResource(resourceDetailsCP_01);
76 changeResourceStateToCertified(resourceDetailsCP_01);
77 createAtomicResource(resourceDetailsVL_01);
78 changeResourceStateToCertified(resourceDetailsVL_01);
79 createAtomicResource(resourceDetailsVFC_02);
80 changeResourceStateToCertified(resourceDetailsVFC_02);
81 createAtomicResource(resourceDetailsCP_02);
82 changeResourceStateToCertified(resourceDetailsCP_02);
83 createAtomicResource(resourceDetailsVL_02);
84 changeResourceStateToCertified(resourceDetailsVL_02);
85 createVF(resourceDetailsVF_02);
86 createVF(resourceDetailsVF_01);
87 // create check-In services
88 createService(serviceDetails_01);
89 createService(serviceDetails_02);
90 createService(serviceDetails_03);
91 createProduct(productDetails_01);
92 createProduct(productDetails_02);
94 // addresourceDetailsCP_02 ,resourceDetailsVFC_02 and
95 // resourceDetailsVL_02 to resourceDetailsVF_02 check-in VF
96 RestResponse createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resourceDetailsVF_02, resourceDetailsVFC_02, sdncDesignerDetails);
97 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
98 createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resourceDetailsVF_02, resourceDetailsCP_02, sdncDesignerDetails);
99 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
100 createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resourceDetailsVF_02, resourceDetailsVL_02, sdncDesignerDetails);
101 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
102 RestResponse restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncDesignerDetails, LifeCycleStatesEnum.CHECKIN);
103 resourceDetailsVF_02.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
104 // addresourceDetailsCP_01 ,resourceDetailsVFC_01 and
105 // resourceDetailsVL_01 to resourceDetailsVF_01 and certify
106 // resourceDetailsVF_01
107 certifyVf(resourceDetailsVF_01);
108 createVFInstanceDuringSetup(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); // serviceDetails_01
112 createVFInstanceDuringSetup(serviceDetails_02, resourceDetailsVF_02, sdncDesignerDetails); // serviceDetails_02
116 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails, LifeCycleStatesEnum.CHECKIN);
117 ResourceRestUtils.checkSuccess(restResponse);
118 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_02, sdncDesignerDetails, LifeCycleStatesEnum.CHECKIN);
119 ResourceRestUtils.checkSuccess(restResponse);
124 public void createServiceInstanceTest() throws Exception {
125 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
126 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
127 getComponentAndValidateRIs(productDetails_01, 1, 0);
131 @Test(enabled = false)
132 public void createServiceInstanceFromCheckedOutState() throws Exception {
133 // can't create instance of checked-out component
134 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails, LifeCycleStatesEnum.CHECKOUT);
135 ResourceRestUtils.checkSuccess(restResponse);
136 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
137 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
138 getComponentAndValidateRIs(productDetails_01, 1, 0);
142 public void createServiceInstanceInToAnotherServiceInstance() throws Exception {
143 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_02, sdncPmDetails1);
144 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
145 String uniqueIdFromResponse = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
146 getComponentAndValidateRIs(productDetails_01, 1, 0);
147 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
148 createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, uniqueIdFromResponse, ComponentTypeEnum.PRODUCT);
149 assertTrue(createServiceInstanceResp.getErrorCode() == STATUS_CODE_NOT_FOUND);
153 public void createSeveralServiceInstanceFromSameServices() throws Exception {
154 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
155 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
156 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
157 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
158 getComponentAndValidateRIs(productDetails_01, 2, 0);
162 public void createSeveralServiceInstanceFromDifferentServices() throws Exception {
163 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
164 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
165 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_02, sdncPmDetails1);
166 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
167 getComponentAndValidateRIs(productDetails_01, 2, 0);
171 public void createCertifiedServiceInstance() throws Exception {
172 changeServiceStateToCertified(serviceDetails_01);
173 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
174 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
175 getComponentAndValidateRIs(productDetails_01, 1, 0);
179 public void createServiceInstanceByPm() throws Exception {
180 RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN);
181 ResourceRestUtils.checkSuccess(restResponse);
182 restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKOUT);
183 ResourceRestUtils.checkSuccess(restResponse);
184 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
185 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
186 getComponentAndValidateRIs(productDetails_01, 1, 0);
190 public void createServiceInstanceWithoutVf() throws Exception {
191 LifecycleRestUtils.changeServiceState(serviceDetails_03, sdncAdminDetails, "0.1", LifeCycleStatesEnum.CHECKIN);
192 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_02, serviceDetails_03, sdncPmDetails1);
193 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
194 getComponentAndValidateRIs(productDetails_02, 1, 0);
198 public void createServiceInstanceByNonProductOwner() throws Exception {
199 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
200 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
201 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_02, sdncPmDetails2);
202 assertTrue(createServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION);
203 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), createServiceInstanceResp.getResponse());
204 getComponentAndValidateRIs(productDetails_01, 1, 0);
208 public void createServiceInstanceByNonAsdcUser() throws Exception {
209 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
210 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
211 User nonExistingSdncUser = ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1);
213 nonExistingSdncUser.setUserId("bt1234");
214 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, nonExistingSdncUser);
215 assertTrue(createServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION);
216 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), createServiceInstanceResp.getResponse());
217 getComponentAndValidateRIs(productDetails_01, 1, 0);
221 public void createServiceInstanceToNotCheckOutProduct() throws Exception {
222 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
223 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
224 RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN);
225 ResourceRestUtils.checkSuccess(restResponse);
226 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
227 assertTrue(createServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION);
228 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), createServiceInstanceResp.getResponse());
229 getComponentAndValidateRIs(productDetails_01, 1, 0);
234 public void createServiceInstanceNameIsEmpty() throws Exception {
235 String expectedServiceInstanceName = serviceDetails_01.getName() + " 1";
236 String expectedServiceInstancenormalizedName = serviceDetails_01.getName() + "1";
237 serviceDetails_01.setName("");
238 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
239 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
240 String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createServiceInstanceResp.getResponse(), "normalizedName");
241 String instanceName = ResponseParser.getValueFromJsonResponse(createServiceInstanceResp.getResponse(), "name");
242 assertEquals("check Resource Instance normalizedName ", (expectedServiceInstancenormalizedName).toLowerCase(), instanceNormalizedName);
243 assertEquals("check Resource Instance Name ", expectedServiceInstanceName, instanceName);
244 getComponentAndValidateRIs(productDetails_01, 1, 0);
245 // get product and verify that service instanceName is correct
246 RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId());
247 Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class);
248 ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0);
249 assertEquals(expectedServiceInstanceName, actualComponentInstance.getName());
250 assertEquals((expectedServiceInstancenormalizedName).toLowerCase(), actualComponentInstance.getNormalizedName());
255 public void createServiceInstanceNameIsNull() throws Exception {
256 serviceDetails_01.setName(null);
257 String expectedServiceInstanceName = (serviceDetails_01.getName() != null ? serviceDetails_01.getName() : "resourceInstanceName") + " 1";
258 String expectedServiceInstancenormalizedName = (serviceDetails_01.getName() != null ? serviceDetails_01.getName() : "resourceInstanceName") + "1";
259 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
260 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
261 String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createServiceInstanceResp.getResponse(), "normalizedName");
262 String instanceName = ResponseParser.getValueFromJsonResponse(createServiceInstanceResp.getResponse(), "name");
263 assertEquals("check Resource Instance normalizedName ", (expectedServiceInstancenormalizedName).toLowerCase(), instanceNormalizedName);
264 assertEquals("check Resource Instance Name ", expectedServiceInstanceName, instanceName);
265 getComponentAndValidateRIs(productDetails_01, 1, 0);
266 // get product and verify that service instanceName is correct
267 RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId());
268 Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class);
269 ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0);
270 assertEquals(expectedServiceInstanceName, actualComponentInstance.getName());
271 assertEquals((expectedServiceInstancenormalizedName).toLowerCase(), actualComponentInstance.getNormalizedName());
274 @Test(enabled = false)
275 public void createServiceInstanceToNonExistingProduct() throws Exception {
276 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
277 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
278 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
279 createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, "blabla", ComponentTypeEnum.PRODUCT);
280 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND, createServiceInstanceResp.getErrorCode().intValue());
281 ArrayList<String> varibales = new ArrayList<String>();
282 varibales.add("blabla");
283 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PRODUCT_NOT_FOUND.name(), varibales, createServiceInstanceResp.getResponse());
284 getComponentAndValidateRIs(productDetails_01, 1, 0);
288 public void createServiceInstanceToNonSupportedComponentType() throws Exception {
289 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
290 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
291 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
292 createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.RESOURCE_INSTANCE);
293 assertTrue(createServiceInstanceResp.getErrorCode() == STATUS_CODE_UNSUPPORTED_ERROR);
294 ArrayList<String> varibales = new ArrayList<String>();
295 varibales.add("null");
296 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.UNSUPPORTED_ERROR.name(), varibales, createServiceInstanceResp.getResponse());
297 getComponentAndValidateRIs(productDetails_01, 1, 0);
302 public void createServiceInstancePositionIsEmpty() throws Exception {
303 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
304 serviceInstanceReqDetails.setPosX("");
305 serviceInstanceReqDetails.setPosY("");
306 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
307 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
308 ComponentInstance componentInstance = ResponseParser.parseToObjectUsingMapper(createServiceInstanceResp.getResponse(), ComponentInstance.class);
309 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.PRODUCT);
310 getComponentAndValidateRIs(productDetails_01, 1, 0);
314 public void createServiceInstancePositionIsNull() throws Exception {
315 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
316 serviceInstanceReqDetails.setPosX(null);
317 serviceInstanceReqDetails.setPosY(null);
318 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
319 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
320 ComponentInstance componentInstance = ResponseParser.parseToObjectUsingMapper(createServiceInstanceResp.getResponse(), ComponentInstance.class);
321 addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.PRODUCT);
322 getComponentAndValidateRIs(productDetails_01, 1, 0);
326 public void createServiceInstanceByDesigner() throws Exception {
327 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
328 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
329 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncDesignerDetails);
330 assertTrue(createServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION);
331 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), createServiceInstanceResp.getResponse());
332 getComponentAndValidateRIs(productDetails_01, 1, 0);
336 public void createServiceInstanceUserIdIsEmpty() throws Exception {
337 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
338 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
339 User nonSdncDetails = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
340 nonSdncDetails.setUserId("");
341 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, nonSdncDetails);
342 assertTrue(createServiceInstanceResp.getErrorCode() == STATUS_CODE_MISSING_INFORMATION);
343 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_INFORMATION.name(), new ArrayList<String>(), createServiceInstanceResp.getResponse());
344 getComponentAndValidateRIs(productDetails_01, 1, 0);
347 //// Update Service instance
350 public void updateServiceInstanceNameByPm() throws Exception {
351 // Check-in Product by PM and Check-out by PM
352 RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN);
353 ResourceRestUtils.checkSuccess(restResponse);
354 restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKOUT);
355 ResourceRestUtils.checkSuccess(restResponse);
356 // Create service instance by PM
357 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
358 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
359 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
360 String newName = "abcD";
361 serviceInstanceReqDetails.setName(newName);
362 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
363 ResourceRestUtils.checkSuccess(updateServiceInstanceResponse);
364 String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName");
365 String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "name");
366 assertEquals("check Resource Instance normalizedName ", (newName).toLowerCase(), instanceNormalizedName);
367 assertEquals("check Resource Instance Name ", newName, instanceName);
368 // get product and verify that service instanceName is correct
369 RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId());
370 Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class);
371 ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0);
372 assertEquals(newName, actualComponentInstance.getName());
373 assertEquals((newName).toLowerCase(), actualComponentInstance.getNormalizedName());
377 public void updateServiceInstanceNewNameAndLocation() throws Exception {
378 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
379 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
380 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
381 String newName = "updaatedName100";
382 serviceInstanceReqDetails.setPosX("100");
383 serviceInstanceReqDetails.setPosY("100");
384 serviceInstanceReqDetails.setName(newName);
385 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
386 ResourceRestUtils.checkSuccess(updateServiceInstanceResponse);
387 // get product and verify that service instanceName is correct
388 RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId());
389 Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class);
390 ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0);
391 assertEquals(serviceInstanceReqDetails.getPosX(), actualComponentInstance.getPosX());
392 assertEquals(serviceInstanceReqDetails.getPosY(), actualComponentInstance.getPosY());
393 assertEquals(newName, actualComponentInstance.getName());
394 assertEquals(newName.toLowerCase(), actualComponentInstance.getNormalizedName());
397 @Test(enabled = false)
398 public void updateServiceInstanceNameRemoveSpacesFromBiginningAndEnd() throws Exception {
399 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
400 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
401 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
402 String newName = " Abcd ";
403 String expectedNewName = " Abcd ";
404 serviceInstanceReqDetails.setName(newName);
405 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
406 ResourceRestUtils.checkSuccess(updateServiceInstanceResponse);
407 String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName");
408 String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "name");
409 assertEquals("check Resource Instance normalizedName ", (expectedNewName).toLowerCase(), instanceNormalizedName);
410 assertEquals("check Resource Instance Name ", expectedNewName, instanceName);
411 // get product and verify that service instanceName is correct
412 RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId());
413 Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class);
414 ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0);
415 assertEquals(expectedNewName, actualComponentInstance.getName());
416 assertEquals((expectedNewName).toLowerCase(), actualComponentInstance.getNormalizedName());
421 public void updateServiceInstanceNameAllowedCharacters() throws Exception {
422 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
423 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
424 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
425 String newName = "cier-TYUIOP_asd_0987654321.Abcd";
426 String ExpectedNormalizName = "ciertyuiop_asd_0987654321abcd";
427 serviceInstanceReqDetails.setName(newName);
428 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
429 ResourceRestUtils.checkSuccess(updateServiceInstanceResponse);
430 String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName");
431 String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "name");
432 assertEquals("check Resource Instance normalizedName ", ExpectedNormalizName, instanceNormalizedName);
433 assertEquals("check Resource Instance Name ", newName, instanceName);
434 // get product and verify that service instanceName is correct
435 RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId());
436 Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class);
437 ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0);
438 assertEquals(newName, actualComponentInstance.getName());
439 assertEquals(ExpectedNormalizName, actualComponentInstance.getNormalizedName());
444 public void updateInstanceNameInvalidCharacters() throws Exception {
445 char invalidChars[] = {'~', '!', '$', '%', '^', '*', '(', ')', '"', '{', '}', '[', ']', '?', '>', '<', '/', '|', '\\', ','};
446 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
447 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
448 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
449 String newName = "Abcd1";
451 for (int i = 0; i < invalidChars.length; i++) {
452 updateName = newName + invalidChars[i];
453 serviceInstanceReqDetails.setName(updateName);
454 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
455 assertEquals("Check response code ", STATUS_CODE_INVALID_CONTENT, updateServiceInstanceResponse.getErrorCode().intValue());
456 ArrayList<String> varibales = new ArrayList<String>();
457 varibales.add("Service Instance");
458 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_COMPONENT_NAME.name(), varibales, updateServiceInstanceResponse.getResponse());
464 public void updateInstanceNameMaxLength() throws Exception {
465 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
466 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
467 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
468 String newName = "Qwertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl12345";
469 serviceInstanceReqDetails.setName(newName);
470 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
471 ResourceRestUtils.checkSuccess(updateServiceInstanceResponse);
472 String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName");
473 String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "name");
474 assertEquals("check Resource Instance normalizedName ", (newName).toLowerCase(), instanceNormalizedName);
475 assertEquals("check Resource Instance Name ", newName, instanceName);
476 // get product and verify that service instanceName is correct
477 RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId());
478 Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class);
479 ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0);
480 assertEquals(newName, actualComponentInstance.getName());
481 assertEquals((newName).toLowerCase(), actualComponentInstance.getNormalizedName());
485 public void updateInstanceNameExceedMaxLength() throws Exception {
486 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
487 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
488 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
489 String expectedName = ResponseParser.getValueFromJsonResponse(createServiceInstanceResp.getResponse(), "name");
490 String expectedNormalizedName = ResponseParser.getValueFromJsonResponse(createServiceInstanceResp.getResponse(), "normalizedName");
491 String newName = "Ciertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ciertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ciertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ciertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ciertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ciertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ciertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ciertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ciertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456Ahjklzxcvbnmasdfghjkl123456";
492 serviceInstanceReqDetails.setName(newName);
493 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
494 assertEquals("Check response code ", STATUS_CODE_COMPONENT_NAME_EXCEEDS_LIMIT, updateServiceInstanceResponse.getErrorCode().intValue());
495 ArrayList<String> varibales = new ArrayList<String>();
496 varibales.add("Service Instance");
497 varibales.add("1024");
498 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_NAME_EXCEEDS_LIMIT.name(), varibales, updateServiceInstanceResponse.getResponse());
499 // get product and verify that service instanceName is correct
500 RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId());
501 Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class);
502 ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0);
503 assertEquals(expectedName, actualComponentInstance.getName());
504 assertEquals(expectedNormalizedName, actualComponentInstance.getNormalizedName());
508 public void updateServiceInstanceNameEmpty() throws Exception {
509 // see US534663 In case a PS/PM removes the current service instance
510 // name then BE has to generate again the "default" service instance
512 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
513 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
514 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
516 serviceInstanceReqDetails.setName(newName);
517 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
518 ResourceRestUtils.checkSuccess(updateServiceInstanceResponse);
519 String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName");
520 String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "name");
521 assertEquals("check Resource Instance normalizedName ", (serviceDetails_01.getName() + "2").toLowerCase(), instanceNormalizedName);
522 assertEquals("check Resource Instance normalizedName ", (serviceDetails_01.getName() + " 2"), instanceName);
523 // get product and verify that service instanceName is correct
524 RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId());
525 Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class);
526 ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0);
527 assertEquals(instanceName, actualComponentInstance.getName());
528 assertEquals(instanceNormalizedName, actualComponentInstance.getNormalizedName());
533 public void updateServiceInstanceNameNull() throws Exception {
534 // see US534663 In case a PS/PM removes the current service instance
535 // name then BE has to generate again the "default" service instance
537 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
538 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
539 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
540 String newName = null;
541 serviceInstanceReqDetails.setName(newName);
542 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
543 ResourceRestUtils.checkSuccess(updateServiceInstanceResponse);
544 String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName");
545 String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "name");
546 assertEquals("check Resource Instance normalizedName ", (serviceDetails_01.getName() + "1").toLowerCase(), instanceNormalizedName);
547 assertEquals("check Resource Instance normalizedName ", (serviceDetails_01.getName() + " 1"), instanceName);
548 // get product and verify that service instanceName is correct
549 RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId());
550 Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class);
551 ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0);
552 assertEquals(instanceName, actualComponentInstance.getName());
553 assertEquals(instanceNormalizedName, actualComponentInstance.getNormalizedName());
557 public void updateServiceInstanceCheckedByOtherUser() throws Exception {
558 // see US534663 In case a PS/PM removes the current service instance
559 // name then BE has to generate again the "default" service instance
561 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
562 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
563 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
564 String newName = "blabla";
565 serviceInstanceReqDetails.setName(newName);
566 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails2, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
567 assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION, updateServiceInstanceResponse.getErrorCode().intValue());
568 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), updateServiceInstanceResponse.getResponse());
572 public void updateServiceInstance_UserIdIsNonAsdcUser() throws Exception {
573 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
574 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
575 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
576 String newName = "blabla";
577 serviceInstanceReqDetails.setName(newName);
578 User nonSdncUserDetails = new User();
579 nonSdncUserDetails.setUserId("bt4567");
580 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, nonSdncUserDetails, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
581 assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION, updateServiceInstanceResponse.getErrorCode().intValue());
582 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), updateServiceInstanceResponse.getResponse());
586 public void updateServiceInstanceNameToAlreadyExisting() throws Exception {
587 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
588 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
589 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
590 String ServiceName1 = ResponseParser.getNameFromResponse(createServiceInstanceResp);
591 createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
592 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
593 // Update service instance2 name to service instance1
594 serviceInstanceReqDetails.setName(ServiceName1);
595 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
596 assertEquals("Check response code ", STATUS_CODE_ALREADY_EXISTS, updateServiceInstanceResponse.getErrorCode().intValue());
597 ArrayList<String> varibales = new ArrayList<String>();
598 varibales.add("Service Instance");
599 varibales.add(ServiceName1);
600 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_NAME_ALREADY_EXIST.name(), varibales, updateServiceInstanceResponse.getResponse());
604 public void updateServiceInstanceForNonExistingProduct() throws Exception {
605 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
606 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
607 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
608 String newName = "blabla";
609 serviceInstanceReqDetails.setName(newName);
610 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, "blablabla", ComponentTypeEnum.PRODUCT);
611 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND, updateServiceInstanceResponse.getErrorCode().intValue());
612 ArrayList<String> varibales = new ArrayList<String>();
614 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PRODUCT_NOT_FOUND.name(), varibales, updateServiceInstanceResponse.getResponse());
619 public void updateNonExistingServiceInstance() throws Exception {
620 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
621 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
622 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
623 String newName = "blabla";
624 serviceInstanceReqDetails.setName(newName);
625 serviceInstanceReqDetails.setUniqueId("11111111");
626 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
627 ArrayList<String> varibales = new ArrayList<String>();
628 varibales.add(newName);
629 varibales.add("service instance");
630 AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND, updateServiceInstanceResponse.getErrorCode().intValue());
631 // need to change ActionStatus.RESOURCE_INSTANCE_NOT_FOUND.name() to
632 // ActionStatus.SERVICE_INSTANCE_NOT_FOUND.name()
633 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_INSTANCE_NOT_FOUND.name(), varibales, updateServiceInstanceResponse.getResponse());
637 public void updateServiceInstanceLocation() throws Exception {
638 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
639 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
640 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
641 serviceInstanceReqDetails.setPosX("50");
642 serviceInstanceReqDetails.setPosY("100");
643 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
644 ResourceRestUtils.checkSuccess(updateServiceInstanceResponse);
645 // get product and verify that service instanceName is correct
646 RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId());
647 Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class);
648 ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0);
649 assertEquals(serviceInstanceReqDetails.getPosX(), actualComponentInstance.getPosX());
650 assertEquals(serviceInstanceReqDetails.getPosY(), actualComponentInstance.getPosY());
654 public void updateServiceInstanceToNonExistingLocation() throws Exception {
655 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
656 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
657 String nameFromResponse = ResponseParser.getNameFromResponse(createServiceInstanceResp);
658 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
659 serviceInstanceReqDetails.setPosX("-50");
660 serviceInstanceReqDetails.setPosY("-100");
661 serviceInstanceReqDetails.setName(nameFromResponse);
662 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
663 ResourceRestUtils.checkSuccess(updateServiceInstanceResponse);
664 // get product and verify that service instanceName is correct
665 RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId());
666 Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class);
667 ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0);
668 assertEquals(serviceInstanceReqDetails.getPosX(), actualComponentInstance.getPosX());
669 assertEquals(serviceInstanceReqDetails.getPosY(), actualComponentInstance.getPosY());
670 assertEquals(nameFromResponse, actualComponentInstance.getName());
673 @Test(enabled = false)
674 public void updateServiceInstanceLocationNameIsEmpty() throws Exception {
675 String expectedServiceInstanceName = serviceDetails_01.getName() + " 2";
676 String expectedServiceInstancenormalizedName = serviceDetails_01.getName() + "2";
677 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
678 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
679 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
680 serviceInstanceReqDetails.setPosX("100");
681 serviceInstanceReqDetails.setPosY("200");
682 serviceInstanceReqDetails.setName("");
683 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
684 ResourceRestUtils.checkSuccess(updateServiceInstanceResponse);
685 String nameFromResponse = ResponseParser.getNameFromResponse(updateServiceInstanceResponse);
686 String postX = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "posX");
687 String postY = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "posY");
688 assertEquals(nameFromResponse, expectedServiceInstanceName);
689 assertEquals(postX, "100");
690 assertEquals(postY, "200");
691 // get product and verify that service instanceName is correct
692 RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId());
693 Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class);
694 ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0);
695 assertEquals(serviceInstanceReqDetails.getPosX(), actualComponentInstance.getPosX());
696 assertEquals(serviceInstanceReqDetails.getPosY(), actualComponentInstance.getPosY());
697 assertEquals(nameFromResponse, actualComponentInstance.getName());
698 assertEquals(expectedServiceInstancenormalizedName.toLowerCase(), actualComponentInstance.getNormalizedName());
703 public void updateServiceInstanceNameToProductName() throws Exception {
704 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01);
705 RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
706 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
707 // ComponentInstance componentInstance =
708 // ResponseParser.parseToObjectUsingMapper(createServiceInstanceResp.getResponse(),
709 // ComponentInstance.class);
710 // addCompInstReqCapToExpected(componentInstance,
711 // ComponentTypeEnum.PRODUCT);
712 serviceInstanceReqDetails.setName(productDetails_01.getName());
713 RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
714 ResourceRestUtils.checkSuccess(updateServiceInstanceResponse);
715 String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName");
716 String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "name");
717 assertEquals("check Resource Instance normalizedName ", (serviceInstanceReqDetails.getName()).toLowerCase(), instanceNormalizedName);
718 assertEquals("check Resource Instance Name ", serviceInstanceReqDetails.getName(), instanceName);
719 // get product and verify that service instanceName is correct
720 RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId());
721 Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class);
722 ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0);
723 assertEquals(serviceInstanceReqDetails.getName(), actualComponentInstance.getName());
724 assertEquals((serviceInstanceReqDetails.getName()).toLowerCase(), actualComponentInstance.getNormalizedName());
727 //// Delete Service Instance
730 public void deleteAllServiceInstanceFromProduct() throws Exception {
731 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
732 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
733 String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
734 getComponentAndValidateRIs(productDetails_01, 1, 0);
735 RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncPmDetails1);
736 assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_SUCCESS_DELETE);
737 getComponentAndValidateRIs(productDetails_01, 0, 0);
741 public void deleteServiceWhileServiceInstanceExistInProduct() throws Exception {
742 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
743 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
744 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_02, sdncPmDetails1);
745 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
746 String serviceInstanceUniqueIdFromResponse = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
747 getComponentAndValidateRIs(productDetails_01, 2, 0);
748 // Delete service while service instance of it exist in product
749 RestResponse deleteServiceResponse = ServiceRestUtils.deleteServiceById(serviceDetails_01.getUniqueId(), sdncDesignerDetails.getUserId());
750 assertTrue(deleteServiceResponse.getErrorCode() == STATUS_CODE_SUCCESS_DELETE);
751 // Get product and verify that service instance still exists
752 RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId());
753 Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class);
754 // ComponentInstance actualComponentInstance =
755 // actualProduct.getComponentInstances().get(0);
756 // assertTrue(serviceInstanceUniqueIdFromResponse ==
757 // actualComponentInstance.getUniqueId());
758 getComponentAndValidateRIs(productDetails_01, 2, 0);
763 public void deleteServiceInstanceByPm() throws Exception {
764 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
765 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
766 String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
767 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
768 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
769 getComponentAndValidateRIs(productDetails_01, 2, 0);
770 RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncPmDetails1);
771 assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_SUCCESS_DELETE);
772 getComponentAndValidateRIs(productDetails_01, 1, 0);
776 public void deleteServiceInstanceByPmCreatedByPm() throws Exception {
777 RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN);
778 ResourceRestUtils.checkSuccess(restResponse);
779 restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKOUT);
780 ResourceRestUtils.checkSuccess(restResponse);
781 productDetails_01.setUniqueId(ResponseParser.getUniqueIdFromResponse(restResponse));
782 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
783 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
784 String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
785 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
786 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
787 getComponentAndValidateRIs(productDetails_01, 2, 0);
788 RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncPmDetails1);
789 assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_SUCCESS_DELETE);
790 getComponentAndValidateRIs(productDetails_01, 1, 0);
794 public void deleteServiceInstanceByPmWhichIsCheckedOutByAnotherPm() throws Exception {
795 RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN);
796 ResourceRestUtils.checkSuccess(restResponse);
797 restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKOUT);
798 ResourceRestUtils.checkSuccess(restResponse);
799 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
800 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
801 String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
802 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
803 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
804 getComponentAndValidateRIs(productDetails_01, 2, 0);
805 RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncPmDetails2);
806 assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION);
807 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), deleteServiceInstanceResp.getResponse());
808 getComponentAndValidateRIs(productDetails_01, 2, 0);
813 public void deleteServiceInstanceByPmCreatedByPs() throws Exception {
814 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
815 String productOldUniqueId = productDetails_01.getUniqueId();
816 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
817 getComponentAndValidateRIs(productDetails_01, 1, 0);
818 RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN);
819 ResourceRestUtils.checkSuccess(restResponse);
820 restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKOUT);
821 ResourceRestUtils.checkSuccess(restResponse);
822 String productNewUniqueId = ResponseParser.getUniqueIdFromResponse(restResponse);
823 updateExpectedReqCapAfterChangeLifecycleState(productOldUniqueId, productNewUniqueId);
824 // get product and get service instance new uniquId
825 RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId());
826 Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class);
827 ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0);
828 String serviceInstanceUniqueId = actualComponentInstance.getUniqueId();
829 RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncPmDetails1);
830 assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_SUCCESS_DELETE);
831 getComponentAndValidateRIs(productDetails_01, 0, 0);
836 public void deleteServiceInstanceByAdminCreatedByPs() throws Exception {
837 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
838 String productOldUniqueId = productDetails_01.getUniqueId();
839 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
840 getComponentAndValidateRIs(productDetails_01, 1, 0);
841 RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN);
842 ResourceRestUtils.checkSuccess(restResponse);
843 restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncAdminDetails, LifeCycleStatesEnum.CHECKOUT);
844 ResourceRestUtils.checkSuccess(restResponse);
845 String productNewUniqueId = ResponseParser.getUniqueIdFromResponse(restResponse);
846 updateExpectedReqCapAfterChangeLifecycleState(productOldUniqueId, productNewUniqueId);
847 // get product and get service instance new uniquId
848 RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncAdminDetails.getUserId());
849 Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class);
850 ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0);
851 String serviceInstanceUniqueId = actualComponentInstance.getUniqueId();
852 RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncAdminDetails);
853 assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_SUCCESS_DELETE);
854 getComponentAndValidateRIs(productDetails_01, 0, 0);
858 public void createAndDeleteServiceInstanceByAdmin() throws Exception {
859 RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN);
860 ResourceRestUtils.checkSuccess(restResponse);
861 restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncAdminDetails, LifeCycleStatesEnum.CHECKOUT);
862 ResourceRestUtils.checkSuccess(restResponse);
863 // productDetails_01.setUniqueId(ResponseParser.getUniqueIdFromResponse(restResponse));
864 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncAdminDetails);
865 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
866 String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
867 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncAdminDetails);
868 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
869 getComponentAndValidateRIs(productDetails_01, 2, 0);
870 RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncAdminDetails);
871 assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_SUCCESS_DELETE);
872 getComponentAndValidateRIs(productDetails_01, 1, 0);
876 public void deleteServiceInstanceFromNonCheckOutProduct() throws Exception {
877 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
878 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
879 String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
880 getComponentAndValidateRIs(productDetails_01, 1, 0);
881 RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN);
882 ResourceRestUtils.checkSuccess(restResponse);
883 RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncPmDetails1);
884 assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION);
885 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), deleteServiceInstanceResp.getResponse());
886 getComponentAndValidateRIs(productDetails_01, 1, 0);
890 public void deleteServiceInstanceByDesigner() throws Exception {
891 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
892 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
893 String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
894 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
895 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
896 getComponentAndValidateRIs(productDetails_01, 2, 0);
897 RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncDesignerDetails);
898 assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION);
899 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), deleteServiceInstanceResp.getResponse());
900 getComponentAndValidateRIs(productDetails_01, 2, 0);
904 public void deleteServiceInstanceByTester() throws Exception {
905 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
906 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
907 String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
908 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
909 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
910 getComponentAndValidateRIs(productDetails_01, 2, 0);
911 RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncTesterDetails);
912 assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION);
913 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), deleteServiceInstanceResp.getResponse());
914 getComponentAndValidateRIs(productDetails_01, 2, 0);
918 public void deleteServiceInstanceByPsWhichIsCheckedOutByAnotherPs() throws Exception {
919 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
920 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
921 String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
922 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
923 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
924 getComponentAndValidateRIs(productDetails_01, 2, 0);
925 RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncPsDetails2);
926 assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION);
927 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), deleteServiceInstanceResp.getResponse());
928 getComponentAndValidateRIs(productDetails_01, 2, 0);
933 public void deleteServiceInstanceByNonAsdcUser() throws Exception {
934 User nonExistingSdncUser = ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1);
936 nonExistingSdncUser.setUserId("bt1234");
937 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
938 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
939 String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
940 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
941 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
942 getComponentAndValidateRIs(productDetails_01, 2, 0);
943 RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, nonExistingSdncUser);
944 assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION);
945 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), deleteServiceInstanceResp.getResponse());
946 getComponentAndValidateRIs(productDetails_01, 2, 0);
950 public void deleteServiceInstanceFromNonExistingProduct() throws Exception {
951 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
952 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
953 String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
954 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
955 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
956 getComponentAndValidateRIs(productDetails_01, 2, 0);
957 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(sdncPmDetails1, "1234567890", serviceInstanceUniqueId, ComponentTypeEnum.PRODUCT);
958 assertTrue(deleteResourceInstanceResponse.getErrorCode() == STATUS_CODE_NOT_FOUND);
959 ArrayList<String> varibales = new ArrayList<String>();
961 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PRODUCT_NOT_FOUND.name(), varibales, deleteResourceInstanceResponse.getResponse());
962 getComponentAndValidateRIs(productDetails_01, 2, 0);
966 public void deleteNonExistingServiceInstanceFromProduct() throws Exception {
967 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
968 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
969 // String serviceInstanceUniqueId =
970 // ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
971 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
972 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
973 getComponentAndValidateRIs(productDetails_01, 2, 0);
974 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(sdncPmDetails1, productDetails_01.getUniqueId(), "1234567890123456unExistingServiceInstance", ComponentTypeEnum.PRODUCT);
975 assertTrue(deleteResourceInstanceResponse.getErrorCode() == STATUS_CODE_NOT_FOUND);
976 ArrayList<String> varibales = new ArrayList<String>();
977 varibales.add("1234567890123456unExistingServiceInstance");
978 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PRODUCT_NOT_FOUND.name(), varibales, deleteResourceInstanceResponse.getResponse());
979 getComponentAndValidateRIs(productDetails_01, 2, 0);
983 public void deleteServiceInstanceFromNonSupportedComponentType() throws Exception {
984 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
985 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
986 String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
987 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
988 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
989 getComponentAndValidateRIs(productDetails_01, 2, 0);
990 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(sdncPmDetails1, productDetails_01.getUniqueId(), serviceInstanceUniqueId, ComponentTypeEnum.RESOURCE_INSTANCE);
991 assertTrue(deleteResourceInstanceResponse.getErrorCode() == STATUS_CODE_UNSUPPORTED_ERROR);
992 ArrayList<String> varibales = new ArrayList<String>();
993 varibales.add("null");
994 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.UNSUPPORTED_ERROR.name(), varibales, deleteResourceInstanceResponse.getResponse());
995 getComponentAndValidateRIs(productDetails_01, 2, 0);
999 public void deleteServiceInstanceComponentTypeIsNotProduct() throws Exception {
1000 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
1001 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
1002 String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
1003 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
1004 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
1005 getComponentAndValidateRIs(productDetails_01, 2, 0);
1006 RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(sdncPmDetails1, productDetails_01.getUniqueId(), serviceInstanceUniqueId, ComponentTypeEnum.SERVICE);
1007 assertTrue(deleteResourceInstanceResponse.getErrorCode() == STATUS_CODE_NOT_FOUND);
1008 ArrayList<String> varibales = new ArrayList<String>();
1010 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.SERVICE_NOT_FOUND.name(), varibales, deleteResourceInstanceResponse.getResponse());
1011 getComponentAndValidateRIs(productDetails_01, 2, 0);
1015 public void deleteServiceInstanceUserIdIsEmpty() throws Exception {
1016 User nonSdncDetails = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
1017 nonSdncDetails.setUserId("");
1018 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
1019 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
1020 String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
1021 getComponentAndValidateRIs(productDetails_01, 1, 0);
1022 RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, nonSdncDetails);
1023 assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_MISSING_INFORMATION);
1024 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_INFORMATION.name(), new ArrayList<String>(), deleteServiceInstanceResp.getResponse());
1025 getComponentAndValidateRIs(productDetails_01, 1, 0);
1029 public void deleteCertifiedServiceInstance() throws Exception {
1030 changeServiceStateToCertified(serviceDetails_01);
1031 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
1032 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
1033 String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
1034 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_02, sdncPmDetails1);
1035 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
1036 getComponentAndValidateRIs(productDetails_01, 2, 0);
1037 RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncPmDetails1);
1038 assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_SUCCESS_DELETE);
1039 getComponentAndValidateRIs(productDetails_01, 1, 0);
1042 ////////////////////////////////////
1044 private void certifyVf(ResourceReqDetails resource) throws Exception {
1045 RestResponse createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resource, resourceDetailsCP_01, sdncDesignerDetails);
1046 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1047 String cpCompInstId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance);
1049 createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resource, resourceDetailsVFC_02, sdncDesignerDetails);
1050 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1051 String computeCompInstId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance);
1053 createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resource, resourceDetailsVL_01, sdncDesignerDetails);
1054 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
1055 String vlCompInstId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance);
1057 // Fixing Vl/Cp req/cap
1058 ComponentTypeEnum containerCompType = ComponentTypeEnum.RESOURCE;
1059 User user = sdncDesignerDetails;
1060 fulfillCpRequirement(resource, cpCompInstId, computeCompInstId, computeCompInstId, user, containerCompType);
1061 consumeVlCapability(resource, cpCompInstId, vlCompInstId, cpCompInstId, user, containerCompType);
1063 RestResponse response = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails, sdncDesignerDetails, resource.getUniqueId());
1064 ResourceRestUtils.checkSuccess(response);
1065 RestResponse changeResourceStateToCertified = changeResourceStateToCertified(resource);
1066 ResourceRestUtils.checkSuccess(changeResourceStateToCertified);
1069 private RestResponse changeResourceStateToCertified(ResourceReqDetails resourceDetails) throws Exception {
1070 /* RestResponse restResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncDesignerDetails, LifeCycleStatesEnum.CHECKIN);
1071 ResourceRestUtils.checkSuccess(restResponse);
1072 restResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncDesignerDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1073 if (restResponse.getErrorCode() == 200) {
1074 restResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncTesterDetails, LifeCycleStatesEnum.STARTCERTIFICATION);
1076 return restResponse;
1077 if (restResponse.getErrorCode() == 200) {*/
1078 RestResponse restResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncDesignerDetails, LifeCycleStatesEnum.CERTIFY);
1079 if (restResponse.getErrorCode() == 200) {
1080 String newVersion = ResponseParser.getVersionFromResponse(restResponse);
1081 resourceDetails.setVersion(newVersion);
1082 resourceDetails.setLifecycleState(LifecycleStateEnum.CERTIFIED);
1083 resourceDetails.setLastUpdaterUserId(sdncDesignerDetails.getUserId());
1084 resourceDetails.setLastUpdaterFullName(sdncDesignerDetails.getFullName());
1085 String uniqueIdFromRresponse = ResponseParser.getValueFromJsonResponse(restResponse.getResponse(), "uniqueId");
1086 resourceDetails.setUniqueId(uniqueIdFromRresponse);
1088 return restResponse;
1091 private RestResponse changeServiceStateToCertified(ServiceReqDetails serviceDetails) throws Exception {
1093 * RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, LifeCycleStatesEnum.CHECKIN); ResourceRestUtils.checkSuccess(restResponse);
1095 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST);
1096 if (restResponse.getErrorCode() == 200) {
1097 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, sdncTesterDetails, LifeCycleStatesEnum.STARTCERTIFICATION);
1099 return restResponse;
1100 if (restResponse.getErrorCode() == 200) {
1101 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, sdncTesterDetails, LifeCycleStatesEnum.CERTIFY);
1102 if (restResponse.getErrorCode() == 200) {
1103 serviceDetails.setVersion("1.0");
1104 serviceDetails.setLifecycleState(LifecycleStateEnum.CERTIFIED);
1105 serviceDetails.setLastUpdaterUserId(sdncTesterDetails.getUserId());
1106 serviceDetails.setLastUpdaterFullName(sdncTesterDetails.getFullName());
1107 String uniqueIdFromRresponse = ResponseParser.getValueFromJsonResponse(restResponse.getResponse(), "uniqueId");
1108 serviceDetails.setUniqueId(uniqueIdFromRresponse);
1111 return restResponse;
1115 public void deleteServiceInstanceTest() throws Exception {
1116 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
1117 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
1118 getComponentAndValidateRIs(productDetails_01, 1, 0);
1119 String compInstId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
1121 createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_02, sdncPmDetails1);
1122 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
1123 getComponentAndValidateRIs(productDetails_01, 2, 0);
1124 String compInstId2 = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
1126 RestResponse deleteServiceInstanceResp = deleteServiceInstance(compInstId, productDetails_01, sdncPmDetails1);
1127 ResourceRestUtils.checkDeleteResponse(deleteServiceInstanceResp);
1128 getComponentAndValidateRIs(productDetails_01, 1, 0);
1130 deleteServiceInstanceResp = deleteServiceInstance(compInstId2, productDetails_01, sdncPmDetails1);
1131 ResourceRestUtils.checkDeleteResponse(deleteServiceInstanceResp);
1132 getComponentAndValidateRIs(productDetails_01, 0, 0);
1136 public void returnedServiceInstanceTypeAttributeTest() throws Exception {
1137 String expectedServiceType = ComponentTypeEnum.SERVICE.getValue().toUpperCase();
1139 RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1);
1140 ResourceRestUtils.checkCreateResponse(createServiceInstanceResp);
1141 String serviceUniqueIdFromResponse = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp);
1142 ComponentInstanceRestUtils.checkComponentInstanceType(createServiceInstanceResp, expectedServiceType);
1144 RestResponse getProductResp = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPsDetails1.getUserId());
1145 ProductRestUtils.checkSuccess(getProductResp);
1146 Product productObject = ResponseParser.parseToObjectUsingMapper(getProductResp.getResponse(), Product.class);
1147 List<ComponentInstance> productComponentInstances = productObject.getComponentInstances();
1148 for (ComponentInstance comp : productComponentInstances) {
1149 String actualOriginType = comp.getOriginType().getValue().toUpperCase();
1150 assertTrue(expectedServiceType.equals(actualOriginType));
1153 ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_02);
1154 serviceInstanceReqDetails.setUniqueId(serviceUniqueIdFromResponse);
1155 serviceInstanceReqDetails.setComponentUid(serviceDetails_01.getUniqueId());
1156 RestResponse updateResourceInstance = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT);
1157 ComponentInstanceRestUtils.checkSuccess(updateResourceInstance);
1158 ComponentInstanceRestUtils.checkComponentInstanceType(updateResourceInstance, expectedServiceType);