Fix for radio buttons
[sdc.git] / asdc-tests / src / main / java / org / openecomp / sdc / ci / tests / sanity / MultipleResourceUpdate.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.openecomp.sdc.ci.tests.sanity;
22
23 import static org.testng.AssertJUnit.assertTrue;
24
25 import java.util.ArrayList;
26 import java.util.List;
27
28 import org.junit.Rule;
29 import org.junit.rules.TestName;
30 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
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
47 public class MultipleResourceUpdate extends ComponentBaseTest {
48
49         @Rule
50         public static TestName name = new TestName();
51
52         public MultipleResourceUpdate() {
53                 super(name, MultipleResourceUpdate.class.getName());
54         }
55
56         @Test
57         public void simpleScenario() throws Exception {
58
59                 // Creating VF and Resource instances
60                 Resource vf = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left()
61                                 .value();
62                 Resource cp1 = AtomicOperationUtils
63                                 .createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.CP, NormativeTypesEnum.PORT,
64                                                 ResourceCategoryEnum.NETWORK_CONNECTIVITY_CON_POINT, UserRoleEnum.DESIGNER, true)
65                                 .left().value();
66                 Resource cp2 = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.CP, UserRoleEnum.DESIGNER, true)
67                                 .left().value();
68                 Resource vl = AtomicOperationUtils
69                                 .createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VL, NormativeTypesEnum.NETWORK,
70                                                 ResourceCategoryEnum.NETWORK_CONNECTIVITY_VIRTUAL_LINK, UserRoleEnum.DESIGNER, true)
71                                 .left().value();
72
73                 vf.getCreatorUserId();
74
75                 // Check In Resources
76                 AtomicOperationUtils.changeComponentState(cp1, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true);
77                 AtomicOperationUtils.changeComponentState(cp2, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true);
78                 AtomicOperationUtils.changeComponentState(vl, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true);
79
80                 // CheckIn all other except VF
81                 ComponentInstance instanceCP1 = AtomicOperationUtils
82                                 .addComponentInstanceToComponentContainer(cp1, vf, UserRoleEnum.DESIGNER, true).left().value();
83                 ComponentInstance instanceVL = AtomicOperationUtils
84                                 .addComponentInstanceToComponentContainer(vl, vf, UserRoleEnum.DESIGNER, true).left().value();
85                 ComponentInstance instanceCP2 = AtomicOperationUtils
86                                 .addComponentInstanceToComponentContainer(cp2, vf, UserRoleEnum.DESIGNER, true).left().value();
87
88                 vf = (Resource) AtomicOperationUtils.getCompoenntObject(vf, UserRoleEnum.DESIGNER);
89
90                 // Create Vertex(Link/Associate 2 Resource Instances on Canvas)
91                 AtomicOperationUtils.associate2ResourceInstances(vf, instanceCP1, instanceVL, AssocType.LINKABLE.getAssocType(),
92                                 UserRoleEnum.DESIGNER, true);
93
94                 List<ComponentInstanceReqDetails> componentInstanceReqDetailsList = new ArrayList<>();
95                 componentInstanceReqDetailsList.add(new ComponentInstanceReqDetails(instanceCP1));
96                 componentInstanceReqDetailsList.add(new ComponentInstanceReqDetails(instanceCP2));
97                 componentInstanceReqDetailsList.add(new ComponentInstanceReqDetails(instanceVL));
98
99                 ComponentInstanceReqDetails compInstDet = componentInstanceReqDetailsList.get(0);
100                 compInstDet.setPosX("150");
101                 compInstDet.setPosY("150");
102                 compInstDet = componentInstanceReqDetailsList.get(1);
103                 compInstDet.setPosX("400");
104                 compInstDet.setPosY("150");
105                 compInstDet = componentInstanceReqDetailsList.get(2);
106                 compInstDet.setPosX("150");
107                 compInstDet.setPosY("300");
108
109                 RestResponse response = ComponentInstanceRestUtils.updateMultipleComponentInstance(
110                                 componentInstanceReqDetailsList, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), vf.getUniqueId(),
111                                 vf.getComponentType());
112                 assertTrue("response code is not 200, returned: " + response.getErrorCode(),
113                                 response.getErrorCode() == ProductRestUtils.STATUS_CODE_SUCCESS);
114
115                 compInstDet = componentInstanceReqDetailsList.get(0);
116                 compInstDet.setPosX("350");
117                 compInstDet.setPosY("350");
118                 compInstDet = componentInstanceReqDetailsList.get(1);
119                 compInstDet.setPosX("600");
120                 compInstDet.setPosY("350");
121                 compInstDet = componentInstanceReqDetailsList.get(2);
122                 compInstDet.setPosX("350");
123                 compInstDet.setPosY("500");
124
125                 response = ComponentInstanceRestUtils.updateMultipleComponentInstance(componentInstanceReqDetailsList,
126                                 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), vf.getUniqueId(), vf.getComponentType());
127                 assertTrue("response code is not 200, returned: " + response.getErrorCode(),
128                                 response.getErrorCode() == ProductRestUtils.STATUS_CODE_SUCCESS);
129         }
130 }