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.service;
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.ResourceTypeEnum;
27 import org.openecomp.sdc.be.model.Component;
28 import org.openecomp.sdc.be.model.Service;
29 import org.openecomp.sdc.be.model.User;
30 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
31 import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails;
32 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
33 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
34 import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
35 import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo;
36 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
37 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
38 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
39 import org.openecomp.sdc.ci.tests.execute.lifecycle.LCSbaseTest;
40 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
41 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
42 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
43 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
44 import org.openecomp.sdc.ci.tests.utils.rest.ServiceRestUtils;
45 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
46 import org.testng.annotations.BeforeMethod;
47 import org.testng.annotations.Test;
49 import java.util.Arrays;
50 import java.util.HashMap;
51 import java.util.List;
54 import static org.testng.AssertJUnit.assertEquals;
55 import static org.testng.AssertJUnit.assertTrue;
57 public class GetAllServiceVersions extends ComponentBaseTest {
58 protected ResourceReqDetails resourceDetails;
59 protected ServiceReqDetails serviceDetails;
60 protected User sdncDesignerDetails;
61 protected User sdncDesignerDetails2;
62 protected User sdncAdminDetails;
63 protected User sdncGovernorDeatails;
64 protected User sdncTesterDetails;
65 protected User sdncOpsDetails;
66 protected ComponentInstanceReqDetails resourceInstanceReqDetails;
67 protected Component resourceDetailsVFCcomp;
68 protected Service serviceServ;
71 public static TestName name = new TestName();
73 public GetAllServiceVersions() {
74 super(name, GetAllServiceVersions.class.getName());
79 public void setUp() throws Exception {
81 sdncDesignerDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
82 sdncDesignerDetails2 = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2);
83 sdncAdminDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
84 sdncGovernorDeatails = ElementFactory.getDefaultUser(UserRoleEnum.GOVERNOR);
85 sdncTesterDetails = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
86 sdncOpsDetails = ElementFactory.getDefaultUser(UserRoleEnum.OPS);
87 resourceDetailsVFCcomp = AtomicOperationUtils
88 .createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true).left().value();
89 AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceDetailsVFCcomp, UserRoleEnum.DESIGNER,
92 AtomicOperationUtils.changeComponentState(resourceDetailsVFCcomp, UserRoleEnum.DESIGNER,
93 LifeCycleStatesEnum.CERTIFY, true);
94 serviceServ = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value();
95 AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceDetailsVFCcomp, serviceServ,
96 UserRoleEnum.DESIGNER, true);
98 serviceDetails = new ServiceReqDetails(serviceServ);
103 public void GetAllServiceVersions_Version05() throws Exception {
105 Map<String, String> origVersionsMap = new HashMap<String, String>();
106 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
107 for (int x = 0; x < 4; x++) {
108 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
109 LifeCycleStatesEnum.CHECKIN);
110 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
111 LifeCycleStatesEnum.CHECKOUT);
112 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
115 // validate get response
116 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncDesignerDetails);
117 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
118 Map<String, String> getVersionsMap = res.getAllVersions();
119 assertTrue(origVersionsMap.equals(getVersionsMap));
124 public void GetAllServiceVersions_Version01() throws Exception {
126 Map<String, String> origVersionsMap = new HashMap<String, String>();
127 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
129 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncDesignerDetails);
130 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
131 Map<String, String> getVersionsMap = res.getAllVersions();
132 assertTrue(origVersionsMap.equals(getVersionsMap));
136 public void GetAllServiceVersions_Version15() throws Exception {
137 // addMandatoryArtifactsToService();
138 Map<String, String> origVersionsMap = new HashMap<String, String>();
139 for (int x = 0; x < 4; x++) {
140 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
141 LifeCycleStatesEnum.CHECKIN);
142 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
143 LifeCycleStatesEnum.CHECKOUT);
146 RestResponse changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
147 // serviceServ.setUniqueId(serviceDetails.getUniqueId());
148 // RestResponse changeServiceState =
149 // AtomicOperationUtils.changeComponentState(serviceServ,
150 // UserRoleEnum.ADMIN, LifeCycleStatesEnum.CERTIFY, false).getRight();
152 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
153 changeServiceState.getErrorCode() == 200);
154 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
156 for (int x = 0; x < 5; x++) {
157 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
158 LifeCycleStatesEnum.CHECKOUT);
159 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
160 LifeCycleStatesEnum.CHECKIN);
161 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
165 // validate get response
166 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
167 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
168 Map<String, String> getVersionsMap = res.getAllVersions();
169 assertTrue(origVersionsMap.equals(getVersionsMap));
173 public void GetAllServiceVersions_Version25() throws Exception {
174 // addMandatoryArtifactsToService();
175 Map<String, String> origVersionsMap = new HashMap<String, String>();
176 for (int x = 0; x < 4; x++) {
177 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
178 LifeCycleStatesEnum.CHECKIN);
179 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
180 LifeCycleStatesEnum.CHECKOUT);
183 // getting to version 1.0
184 RestResponse changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
185 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
186 changeServiceState.getErrorCode() == 200);
187 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
189 // getting to version 1.5
190 for (int x = 0; x < 5; x++) {
191 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
192 LifeCycleStatesEnum.CHECKIN);
193 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
194 LifeCycleStatesEnum.CHECKOUT);
197 // getting to version 2.0
198 changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
199 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
200 changeServiceState.getErrorCode() == 200);
201 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
203 // getting to version 2.5
204 for (int x = 0; x < 5; x++) {
205 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
206 LifeCycleStatesEnum.CHECKIN);
207 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
208 LifeCycleStatesEnum.CHECKOUT);
209 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
212 // validate get response
213 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
214 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
215 Map<String, String> getVersionsMap = res.getAllVersions();
216 assertTrue(origVersionsMap.equals(getVersionsMap));
220 public void GetAllServiceVersions_ReadyForCertification_version05() throws Exception {
221 // addMandatoryArtifactsToService();
222 Map<String, String> origVersionsMap = new HashMap<String, String>();
223 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
224 for (int x = 0; x < 4; x++) {
225 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
226 LifeCycleStatesEnum.CHECKIN);
227 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
228 LifeCycleStatesEnum.CHECKOUT);
229 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
232 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
233 LifeCycleStatesEnum.CHECKIN);
234 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
235 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
237 // validate get response
238 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
239 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
240 Map<String, String> getVersionsMap = res.getAllVersions();
241 assertTrue(origVersionsMap.equals(getVersionsMap));
245 public void GetAllServiceVersions_CertifactionInProgress_version05() throws Exception {
246 // addMandatoryArtifactsToService();
247 Map<String, String> origVersionsMap = new HashMap<String, String>();
248 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
249 for (int x = 0; x < 4; x++) {
250 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
251 LifeCycleStatesEnum.CHECKIN);
252 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
253 LifeCycleStatesEnum.CHECKOUT);
254 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
257 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
258 LifeCycleStatesEnum.CHECKIN);
259 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
260 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
261 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
262 LifeCycleStatesEnum.STARTCERTIFICATION);
264 // validate get response
265 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
266 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
267 Map<String, String> getVersionsMap = res.getAllVersions();
268 assertTrue(origVersionsMap.equals(getVersionsMap));
272 public void GetAllServiceVersions_Certified_version10() throws Exception {
273 // addMandatoryArtifactsToService();
274 Map<String, String> origVersionsMap = new HashMap<String, String>();
275 // get to version 0.5
276 for (int x = 0; x < 4; x++) {
277 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
278 LifeCycleStatesEnum.CHECKIN);
279 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
280 LifeCycleStatesEnum.CHECKOUT);
285 RestResponse changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
286 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
287 changeServiceState.getErrorCode() == 200);
288 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
290 // validate get response
291 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
292 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
293 Map<String, String> getVersionsMap = res.getAllVersions();
294 assertTrue(origVersionsMap.equals(getVersionsMap));
298 public void GetAllServiceVersions_Certified_version20() throws Exception {
299 // addMandatoryArtifactsToService();
300 Map<String, String> origVersionsMap = new HashMap<String, String>();
301 // get to version 0.5
302 for (int x = 0; x < 4; x++) {
303 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
304 LifeCycleStatesEnum.CHECKIN);
305 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
306 LifeCycleStatesEnum.CHECKOUT);
310 RestResponse changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
311 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
312 changeServiceState.getErrorCode() == 200);
313 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
316 for (int x = 0; x < 4; x++) {
317 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
318 LifeCycleStatesEnum.CHECKIN);
319 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
320 LifeCycleStatesEnum.CHECKOUT);
324 changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
325 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
326 changeServiceState.getErrorCode() == 200);
327 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
329 // validate get response
330 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
331 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
332 Map<String, String> getVersionsMap = res.getAllVersions();
333 assertTrue(origVersionsMap.equals(getVersionsMap));
337 public void GetAllServiceVersions_ServiceNotFound() throws Exception {
339 RestResponse serviceGetResponse = ServiceRestUtils.getService("123456789", sdncAdminDetails);
340 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.SERVICE_NOT_FOUND.name());
341 assertEquals("Check response code after get service without cache", errorInfo.getCode(),
342 serviceGetResponse.getErrorCode());
344 List<String> variables = Arrays.asList("123456789");
345 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.SERVICE_NOT_FOUND.name(), variables,
346 serviceGetResponse.getResponse());