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.devCI;
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;
45 public class ImportCsarUpdate extends ComponentBaseTest {
48 public static TestName name = new TestName();
50 public ImportCsarUpdate() {
51 super(name, ImportCsarUpdate.class.getName());
54 @DataProvider(name = "happyArts")
55 public Object[][] getHappyArtifacts() {
57 return new Object[][] { { "happy_VF_RI2_G2_two_different_artifacts_under_heatBaseheatVolheatNet2" },
58 { "happy_VF_RI2_G2_two_different_artifacts_under_heatBaseheatVolheatNet" },
59 { "happy_VF_RI2_G2_two_identical_artifacts_under_heatBaseheatVolheatNet" },
60 { "happy_VF_RI2_G2_two_different_artifacts_under_nested" },
61 { "happy_VF_RI2_G2_two_indentical_nested_under_different_groups" },
62 { "happy_VF_RI2_G2_two_different_nested_under_different_groups" },
63 { "happy_VF_RI2_G2_two_different_nested_under_same_group" },
68 @DataProvider(name = "negativeArts")
69 public Object[][] getNegativeArtifacts() {
71 return new Object[][] {
73 { "negative_VF_RI2_G2_same_heatVol_different_groups" },
74 { "negative_VF_RI2_G2_same_heatBase_different_envs" },
75 { "negative_VF_RI2_G2_heatBaseHeatVolHeatNet_under_nested" },
76 { "negative_VF_RI2_G2_two_indentical_artifacts_under_nested" },
77 { "negative_VF_RI2_G2_nested_under_nested" }, { "negative_VF_RI2_G2_same_heatVol_different_groups" }, };
81 public void resumeOrigCsarBefore() throws Exception {
83 User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
84 ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, "orig.csar", "importCsar_2Gartifacts.csar");
89 public void resumeOrigCsarAfter() throws Exception {
91 User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
92 ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, "orig.csar", "importCsar_2Gartifacts.csar");
97 public void updateVFsearchByCsarIdCheckInState() throws Exception {
99 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
100 resourceDetails.setName("hardcodedName");
101 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
102 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
103 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails,
104 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
105 BaseRestUtils.checkCreateResponse(createResource);
106 Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(),
108 Component resourceObject = AtomicOperationUtils
109 .changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true)
112 User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
113 RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails,
114 "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar");
116 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
117 createResource = ResourceRestUtils.createResource(resourceDetails,
118 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
119 BaseRestUtils.checkCreateResponse(createResource);
120 Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(),
125 resourceFirstImport.getGroups().equals(resourceSecondImport.getGroups());
130 public void updateVFsearchByCsarIdCheckInState_checkSum() throws Exception {
132 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
133 resourceDetails.setName("hardcodedName");
134 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
135 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
136 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails,
137 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
138 BaseRestUtils.checkCreateResponse(createResource);
139 Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(),
141 Component resourceObject = AtomicOperationUtils
142 .changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true)
145 // User sdncModifierDetails =
146 // ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
147 // RestResponse copyRes =
148 // ImportCsarResourceTest.copyCsarRest(sdncModifierDetails,"updateImportCsar_2Gartifacts_topologyChanged.csar","importCsar_2Gartifacts.csar");
150 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
151 createResource = ResourceRestUtils.createResource(resourceDetails,
152 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
153 BaseRestUtils.checkCreateResponse(createResource);
154 Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(),
159 resourceFirstImport.getGroups().equals(resourceSecondImport.getGroups());
164 public void updateVFsearchByCsarIdCheckOutState() throws Exception {
166 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
167 resourceDetails.setName("hardcodedName");
168 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
169 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
170 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails,
171 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
172 BaseRestUtils.checkCreateResponse(createResource);
173 Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(),
175 // Component resourceObject =
176 // AtomicOperationUtils.changeComponentState(resourceFirstImport,
177 // UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
179 User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
180 RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails,
181 "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar");
183 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
184 createResource = ResourceRestUtils.createResource(resourceDetails,
185 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
186 BaseRestUtils.checkCreateResponse(createResource);
187 Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(),
192 resourceFirstImport.getGroups().equals(resourceSecondImport.getGroups());
197 public void updateVFsearchByCsarIdCertifyStat() throws Exception {
199 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
200 resourceDetails.setName("hardcodedName");
201 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
202 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
203 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails,
204 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
205 BaseRestUtils.checkCreateResponse(createResource);
206 Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(),
208 Component resourceObject = AtomicOperationUtils
209 .changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true)
212 User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
213 RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails,
214 "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar");
216 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
217 createResource = ResourceRestUtils.createResource(resourceDetails,
218 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
219 BaseRestUtils.checkCreateResponse(createResource);
220 Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(),
225 resourceFirstImport.getGroups().equals(resourceSecondImport.getGroups());
230 public void updateVFsearchByCsarStartCertifaicationState() throws Exception {
232 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
233 resourceDetails.setName("hardcodedName");
234 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
235 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
236 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails,
237 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
238 BaseRestUtils.checkCreateResponse(createResource);
239 Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(),
241 Component resourceObject = AtomicOperationUtils.changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER,
242 LifeCycleStatesEnum.CERTIFICATIONREQUEST, true).getLeft();
244 User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
245 RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails,
246 "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar");
248 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
249 createResource = ResourceRestUtils.createResource(resourceDetails,
250 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
251 BaseRestUtils.checkCreateResponse(createResource);
252 Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(),
257 resourceFirstImport.getGroups().equals(resourceSecondImport.getGroups());
262 public void updateVFsearchBySystemNameCheckInState() throws Exception {
264 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
265 resourceDetails.setName("hardcodedName");
266 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
267 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
268 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails,
269 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
270 BaseRestUtils.checkCreateResponse(createResource);
271 Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(),
273 Component resourceObject = AtomicOperationUtils
274 .changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true)
277 User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
278 RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails,
279 "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar");
281 resourceDetails.setName("hardcodedNameChanged");
282 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
283 createResource = ResourceRestUtils.createResource(resourceDetails,
284 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
285 BaseRestUtils.checkCreateResponse(createResource);
286 Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(),
291 resourceFirstImport.getGroups().equals(resourceSecondImport.getGroups());
296 public void updateVFsearchBySystemNameCertifyState() throws Exception {
298 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
299 resourceDetails.setName("hardcodedName");
300 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
301 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
302 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails,
303 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
304 BaseRestUtils.checkCreateResponse(createResource);
305 Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(),
307 Component resourceObject = AtomicOperationUtils
308 .changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true)
311 User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
312 RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails,
313 "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar");
315 resourceDetails.setName("hardcodedNameChanged");
316 resourceDetails.setCsarUUID("importCsar_2Gartifacts");
317 createResource = ResourceRestUtils.createResource(resourceDetails,
318 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
323 public void updateVFsearchBySystemNameCsarIdNotExist() throws Exception {
325 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
326 resourceDetails.setName("hardcodedName");
327 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
328 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails,
329 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
330 BaseRestUtils.checkCreateResponse(createResource);
331 Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(),
333 Component resourceObject = AtomicOperationUtils
334 .changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true)
336 // User sdncModifierDetails =
337 // ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
338 // RestResponse copyRes =
339 // ImportCsarResourceTest.copyCsarRest(sdncModifierDetails,"updateImportCsar_2Gartifacts_topologyChanged.csar","importCsar_2Gartifacts.csar");
340 ResourceReqDetails resourceDetails2 = ElementFactory.getDefaultResource();
341 resourceDetails2.setName("hardcodedName");
342 resourceDetails2.setCsarUUID("importCsar_2Gartifacts");
343 resourceDetails2.setResourceType(ResourceTypeEnum.VF.name());
344 createResource = ResourceRestUtils.createResource(resourceDetails2,
345 ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
346 BaseRestUtils.checkCreateResponse(createResource);
347 Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(),
352 resourceFirstImport.getGroups().equals(resourceSecondImport.getGroups());