Fix for radio buttons
[sdc.git] / asdc-tests / src / main / java / org / openecomp / sdc / ci / tests / execute / devCI / ImportCsarUpdate.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.execute.devCI;
22
23 import org.junit.Rule;
24 import org.junit.rules.TestName;
25 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
26 import org.openecomp.sdc.be.model.Component;
27 import org.openecomp.sdc.be.model.Resource;
28 import org.openecomp.sdc.be.model.User;
29 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
30 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
31 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
32 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
33 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
34 import org.openecomp.sdc.ci.tests.execute.imports.ImportCsarResourceTest;
35 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
36 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
37 import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
38 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
39 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
40 import org.testng.annotations.AfterTest;
41 import org.testng.annotations.BeforeTest;
42 import org.testng.annotations.DataProvider;
43 import org.testng.annotations.Test;
44
45 public class ImportCsarUpdate extends ComponentBaseTest {
46
47         @Rule
48         public static TestName name = new TestName();
49
50         public ImportCsarUpdate() {
51                 super(name, ImportCsarUpdate.class.getName());
52         }
53
54         @DataProvider(name = "happyArts")
55         public Object[][] getHappyArtifacts() {
56
57                 return new Object[][] { 
58                         { "happy_VF_RI2_G2_two_different_artifacts_under_heatBaseheatVolheatNet2" }, 
59                         { "happy_VF_RI2_G2_two_different_artifacts_under_heatBaseheatVolheatNet" },
60                         { "happy_VF_RI2_G2_two_identical_artifacts_under_heatBaseheatVolheatNet" }, 
61                         { "happy_VF_RI2_G2_two_different_artifacts_under_nested" }, 
62                         { "happy_VF_RI2_G2_two_indentical_nested_under_different_groups" },
63                     { "happy_VF_RI2_G2_two_different_nested_under_different_groups" }, 
64                     { "happy_VF_RI2_G2_two_different_nested_under_same_group" }
65                 };
66         }
67
68         @DataProvider(name = "negativeArts")
69         public Object[][] getNegativeArtifacts() {
70
71                 return new Object[][] {
72                         { "negative_VF_RI2_G2_same_heatVol_different_groups" }, 
73                         { "negative_VF_RI2_G2_same_heatBase_different_envs" }, 
74                         { "negative_VF_RI2_G2_heatBaseHeatVolHeatNet_under_nested" },
75                         { "negative_VF_RI2_G2_two_indentical_artifacts_under_nested" }, 
76                         { "negative_VF_RI2_G2_nested_under_nested" }, 
77                         { "negative_VF_RI2_G2_same_heatVol_different_groups" }
78                 };
79         }
80
81         @BeforeTest
82         public void resumeOrigCsarBefore() throws Exception {
83
84                 User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
85                 ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, "orig.csar", "importCsar_2Gartifacts.csar");
86
87         }
88
89         @AfterTest
90         public void resumeOrigCsarAfter() throws Exception {
91
92                 User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
93                 ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, "orig.csar", "importCsar_2Gartifacts.csar");
94
95         }
96
97         @Test
98         public void updateVFsearchByCsarIdCheckInState() throws Exception {
99
100                 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
101                 resourceDetails.setName("hardcodedName");
102                 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
103                 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
104                 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
105                 BaseRestUtils.checkCreateResponse(createResource);
106                 Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
107                 Component resourceObject = AtomicOperationUtils.changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft();
108
109                 User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
110                 RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar");
111
112                 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
113                 createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
114                 BaseRestUtils.checkCreateResponse(createResource);
115                 Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
116
117                 // Validation Part
118
119                 resourceFirstImport.getGroups().equals(resourceSecondImport.getGroups());
120
121         }
122
123         @Test
124         public void updateVFsearchByCsarIdCheckInState_checkSum() throws Exception {
125
126                 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
127                 resourceDetails.setName("hardcodedName");
128                 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
129                 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
130                 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
131                 BaseRestUtils.checkCreateResponse(createResource);
132                 Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
133                 Component resourceObject = AtomicOperationUtils.changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft();
134
135                 // User sdncModifierDetails =
136                 // ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
137                 // RestResponse copyRes =
138                 // ImportCsarResourceTest.copyCsarRest(sdncModifierDetails,"updateImportCsar_2Gartifacts_topologyChanged.csar","importCsar_2Gartifacts.csar");
139
140                 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
141                 createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
142                 BaseRestUtils.checkCreateResponse(createResource);
143                 Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
144
145                 // Validation Part
146
147                 resourceFirstImport.getGroups().equals(resourceSecondImport.getGroups());
148
149         }
150
151         @Test
152         public void updateVFsearchByCsarIdCheckOutState() throws Exception {
153
154                 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
155                 resourceDetails.setName("hardcodedName");
156                 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
157                 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
158                 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
159                 BaseRestUtils.checkCreateResponse(createResource);
160                 Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
161                 // Component resourceObject =
162                 // AtomicOperationUtils.changeComponentState(resourceFirstImport,
163                 // UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
164
165                 User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
166                 RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar");
167
168                 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
169                 createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
170                 BaseRestUtils.checkCreateResponse(createResource);
171                 Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
172
173                 // Validation Part
174
175                 resourceFirstImport.getGroups().equals(resourceSecondImport.getGroups());
176
177         }
178
179         @Test
180         public void updateVFsearchByCsarIdCertifyStat() throws Exception {
181
182                 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
183                 resourceDetails.setName("hardcodedName");
184                 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
185                 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
186                 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
187                 BaseRestUtils.checkCreateResponse(createResource);
188                 Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
189                 Component resourceObject = AtomicOperationUtils.changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
190
191                 User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
192                 RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar");
193
194                 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
195                 createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
196                 BaseRestUtils.checkCreateResponse(createResource);
197                 Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
198
199                 // Validation Part
200
201                 resourceFirstImport.getGroups().equals(resourceSecondImport.getGroups());
202
203         }
204
205         @Test
206         public void updateVFsearchByCsarStartCertificationState() throws Exception {
207
208                 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
209                 resourceDetails.setName("hardcodedName");
210                 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
211                 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
212                 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
213                 BaseRestUtils.checkCreateResponse(createResource);
214                 Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
215                 Component resourceObject = AtomicOperationUtils.changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFICATIONREQUEST, true).getLeft();
216
217                 User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
218                 RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar");
219
220                 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
221                 createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
222                 BaseRestUtils.checkCreateResponse(createResource);
223                 Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
224
225                 // Validation Part
226
227                 resourceFirstImport.getGroups().equals(resourceSecondImport.getGroups());
228
229         }
230
231         @Test
232         public void updateVFsearchBySystemNameCheckInState() throws Exception {
233
234                 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
235                 resourceDetails.setName("hardcodedName");
236                 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
237                 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
238                 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
239                 BaseRestUtils.checkCreateResponse(createResource);
240                 Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
241                 Component resourceObject = AtomicOperationUtils.changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft();
242
243                 User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
244                 RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar");
245
246                 resourceDetails.setName("hardcodedNameChanged");
247                 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
248                 createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
249                 BaseRestUtils.checkCreateResponse(createResource);
250                 Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
251
252                 // Validation Part
253
254                 resourceFirstImport.getGroups().equals(resourceSecondImport.getGroups());
255
256         }
257
258         @Test
259         public void updateVFsearchBySystemNameCertifyState() throws Exception {
260
261                 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
262                 resourceDetails.setName("hardcodedName");
263                 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
264                 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
265                 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
266                 BaseRestUtils.checkCreateResponse(createResource);
267                 Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
268                 Component resourceObject = AtomicOperationUtils.changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
269
270                 User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
271                 RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar");
272
273                 resourceDetails.setName("hardcodedNameChanged");
274                 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
275                 createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
276
277         }
278
279         @Test
280         public void updateVFsearchBySystemNameCsarIdNotExist() throws Exception {
281
282                 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
283                 resourceDetails.setName("hardcodedName");
284                 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
285                 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
286                 BaseRestUtils.checkCreateResponse(createResource);
287                 Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
288                 Component resourceObject = AtomicOperationUtils.changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft();
289                 // User sdncModifierDetails =
290                 // ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
291                 // RestResponse copyRes =
292                 // ImportCsarResourceTest.copyCsarRest(sdncModifierDetails,"updateImportCsar_2Gartifacts_topologyChanged.csar","importCsar_2Gartifacts.csar");
293                 ResourceReqDetails resourceDetails2 = ElementFactory.getDefaultResource();
294                 resourceDetails2.setName("hardcodedName");
295                 resourceDetails2.setCsarUUID("importCsar_2Gartifacts");
296                 resourceDetails2.setResourceType(ResourceTypeEnum.VF.name());
297                 createResource = ResourceRestUtils.createResource(resourceDetails2, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
298                 BaseRestUtils.checkCreateResponse(createResource);
299                 Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
300
301                 // Validation Part
302
303                 resourceFirstImport.getGroups().equals(resourceSecondImport.getGroups());
304
305         }
306
307 }