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.sanity;
23 import java.util.ArrayList;
24 import java.util.List;
27 import org.junit.Rule;
28 import org.junit.rules.TestName;
29 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
30 import org.openecomp.sdc.be.model.Component;
31 import org.openecomp.sdc.be.model.ComponentInstance;
32 import org.openecomp.sdc.be.model.Resource;
33 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
34 import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails;
35 import org.openecomp.sdc.ci.tests.datatypes.enums.AssocType;
36 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
37 import org.openecomp.sdc.ci.tests.datatypes.enums.NormativeTypesEnum;
38 import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum;
39 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
40 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
41 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
42 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
43 import org.openecomp.sdc.ci.tests.utils.rest.ComponentInstanceRestUtils;
44 import org.openecomp.sdc.ci.tests.utils.rest.ProductRestUtils;
45 import org.testng.annotations.Test;
46 import static org.testng.AssertJUnit.assertTrue;
48 public class MultipleResourceUpdate extends ComponentBaseTest {
51 public static TestName name = new TestName();
53 public MultipleResourceUpdate() {
54 super(name, MultipleResourceUpdate.class.getName());
58 public void simpleScenario() throws Exception {
60 // Creating VF and Resource instances
61 Resource vf = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left()
63 Resource cp1 = AtomicOperationUtils
64 .createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.CP, NormativeTypesEnum.PORT,
65 ResourceCategoryEnum.NETWORK_CONNECTIVITY_CON_POINT, UserRoleEnum.DESIGNER, true)
67 Resource cp2 = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.CP, UserRoleEnum.DESIGNER, true)
69 Resource vl = AtomicOperationUtils
70 .createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VL, NormativeTypesEnum.NETWORK,
71 ResourceCategoryEnum.NETWORK_CONNECTIVITY_VIRTUAL_LINK, UserRoleEnum.DESIGNER, true)
74 vf.getCreatorUserId();
77 AtomicOperationUtils.changeComponentState(cp1, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true);
78 AtomicOperationUtils.changeComponentState(cp2, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true);
79 AtomicOperationUtils.changeComponentState(vl, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true);
81 // CheckIn all other except VF
82 ComponentInstance instanceCP1 = AtomicOperationUtils
83 .addComponentInstanceToComponentContainer(cp1, vf, UserRoleEnum.DESIGNER, true).left().value();
84 ComponentInstance instanceVL = AtomicOperationUtils
85 .addComponentInstanceToComponentContainer(vl, vf, UserRoleEnum.DESIGNER, true).left().value();
86 ComponentInstance instanceCP2 = AtomicOperationUtils
87 .addComponentInstanceToComponentContainer(cp2, vf, UserRoleEnum.DESIGNER, true).left().value();
89 vf = (Resource) AtomicOperationUtils.getCompoenntObject(vf, UserRoleEnum.DESIGNER);
91 // Create Vertex(Link/Associate 2 Resource Instances on Canvas)
92 AtomicOperationUtils.associate2ResourceInstances(vf, instanceCP1, instanceVL, AssocType.LINKABLE.getAssocType(),
93 UserRoleEnum.DESIGNER, true);
95 List<ComponentInstanceReqDetails> componentInstanceReqDetailsList = new ArrayList<>();
96 componentInstanceReqDetailsList.add(new ComponentInstanceReqDetails(instanceCP1));
97 componentInstanceReqDetailsList.add(new ComponentInstanceReqDetails(instanceCP2));
98 componentInstanceReqDetailsList.add(new ComponentInstanceReqDetails(instanceVL));
100 ComponentInstanceReqDetails compInstDet = componentInstanceReqDetailsList.get(0);
101 compInstDet.setPosX("150");
102 compInstDet.setPosY("150");
103 compInstDet = componentInstanceReqDetailsList.get(1);
104 compInstDet.setPosX("400");
105 compInstDet.setPosY("150");
106 compInstDet = componentInstanceReqDetailsList.get(2);
107 compInstDet.setPosX("150");
108 compInstDet.setPosY("300");
110 RestResponse response = ComponentInstanceRestUtils.updateMultipleComponentInstance(
111 componentInstanceReqDetailsList, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), vf.getUniqueId(),
112 vf.getComponentType());
113 assertTrue("response code is not 200, returned: " + response.getErrorCode(),
114 response.getErrorCode() == ProductRestUtils.STATUS_CODE_SUCCESS);
116 compInstDet = componentInstanceReqDetailsList.get(0);
117 compInstDet.setPosX("350");
118 compInstDet.setPosY("350");
119 compInstDet = componentInstanceReqDetailsList.get(1);
120 compInstDet.setPosX("600");
121 compInstDet.setPosY("350");
122 compInstDet = componentInstanceReqDetailsList.get(2);
123 compInstDet.setPosX("350");
124 compInstDet.setPosY("500");
126 response = ComponentInstanceRestUtils.updateMultipleComponentInstance(componentInstanceReqDetailsList,
127 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), vf.getUniqueId(), vf.getComponentType());
128 assertTrue("response code is not 200, returned: " + response.getErrorCode(),
129 response.getErrorCode() == ProductRestUtils.STATUS_CODE_SUCCESS);