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 static org.testng.AssertJUnit.assertEquals;
24 import static org.testng.AssertJUnit.assertTrue;
26 import java.util.Arrays;
27 import java.util.HashMap;
28 import java.util.List;
31 import org.apache.cassandra.transport.Event.SchemaChange.Target;
32 import org.junit.Rule;
33 import org.junit.rules.TestName;
34 import org.openecomp.sdc.be.dao.api.ActionStatus;
35 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
36 import org.openecomp.sdc.be.model.Component;
37 import org.openecomp.sdc.be.model.Service;
38 import org.openecomp.sdc.be.model.User;
39 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
40 import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails;
41 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
42 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
43 import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
44 import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo;
45 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
46 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
47 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
48 import org.openecomp.sdc.ci.tests.execute.lifecycle.LCSbaseTest;
49 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
50 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
51 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
52 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
53 import org.openecomp.sdc.ci.tests.utils.rest.ServiceRestUtils;
54 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
55 import org.testng.annotations.BeforeMethod;
56 import org.testng.annotations.Test;
58 public class GetAllServiceVersions extends ComponentBaseTest {
59 protected ResourceReqDetails resourceDetails;
60 protected ServiceReqDetails serviceDetails;
61 protected User sdncDesignerDetails;
62 protected User sdncDesignerDetails2;
63 protected User sdncAdminDetails;
64 protected User sdncGovernorDeatails;
65 protected User sdncTesterDetails;
66 protected User sdncOpsDetails;
67 protected ComponentInstanceReqDetails resourceInstanceReqDetails;
68 protected Component resourceDetailsVFCcomp;
69 protected Service serviceServ;
72 public static TestName name = new TestName();
74 public GetAllServiceVersions() {
75 super(name, GetAllServiceVersions.class.getName());
80 public void setUp() throws Exception {
82 sdncDesignerDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
83 sdncDesignerDetails2 = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2);
84 sdncAdminDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
85 sdncGovernorDeatails = ElementFactory.getDefaultUser(UserRoleEnum.GOVERNOR);
86 sdncTesterDetails = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
87 sdncOpsDetails = ElementFactory.getDefaultUser(UserRoleEnum.OPS);
88 resourceDetailsVFCcomp = AtomicOperationUtils
89 .createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true).left().value();
90 AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceDetailsVFCcomp, UserRoleEnum.DESIGNER,
93 AtomicOperationUtils.changeComponentState(resourceDetailsVFCcomp, UserRoleEnum.DESIGNER,
94 LifeCycleStatesEnum.CERTIFY, true);
95 serviceServ = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value();
96 AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceDetailsVFCcomp, serviceServ,
97 UserRoleEnum.DESIGNER, true);
99 serviceDetails = new ServiceReqDetails(serviceServ);
104 public void GetAllServiceVersions_Version05() throws Exception {
106 Map<String, String> origVersionsMap = new HashMap<String, String>();
107 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
108 for (int x = 0; x < 4; x++) {
109 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
110 LifeCycleStatesEnum.CHECKIN);
111 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
112 LifeCycleStatesEnum.CHECKOUT);
113 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
116 // validate get response
117 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncDesignerDetails);
118 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
119 Map<String, String> getVersionsMap = res.getAllVersions();
120 assertTrue(origVersionsMap.equals(getVersionsMap));
125 public void GetAllServiceVersions_Version01() throws Exception {
127 Map<String, String> origVersionsMap = new HashMap<String, String>();
128 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
130 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncDesignerDetails);
131 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
132 Map<String, String> getVersionsMap = res.getAllVersions();
133 assertTrue(origVersionsMap.equals(getVersionsMap));
137 public void GetAllServiceVersions_Version15() throws Exception {
138 // addMandatoryArtifactsToService();
139 Map<String, String> origVersionsMap = new HashMap<String, String>();
140 for (int x = 0; x < 4; x++) {
141 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
142 LifeCycleStatesEnum.CHECKIN);
143 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
144 LifeCycleStatesEnum.CHECKOUT);
147 RestResponse changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
148 // serviceServ.setUniqueId(serviceDetails.getUniqueId());
149 // RestResponse changeServiceState =
150 // AtomicOperationUtils.changeComponentState(serviceServ,
151 // UserRoleEnum.ADMIN, LifeCycleStatesEnum.CERTIFY, false).getRight();
153 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
154 changeServiceState.getErrorCode() == 200);
155 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
157 for (int x = 0; x < 5; x++) {
158 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
159 LifeCycleStatesEnum.CHECKOUT);
160 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
161 LifeCycleStatesEnum.CHECKIN);
162 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
166 // validate get response
167 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
168 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
169 Map<String, String> getVersionsMap = res.getAllVersions();
170 assertTrue(origVersionsMap.equals(getVersionsMap));
174 public void GetAllServiceVersions_Version25() throws Exception {
175 // addMandatoryArtifactsToService();
176 Map<String, String> origVersionsMap = new HashMap<String, String>();
177 for (int x = 0; x < 4; x++) {
178 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
179 LifeCycleStatesEnum.CHECKIN);
180 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
181 LifeCycleStatesEnum.CHECKOUT);
184 // getting to version 1.0
185 RestResponse changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
186 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
187 changeServiceState.getErrorCode() == 200);
188 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
190 // getting to version 1.5
191 for (int x = 0; x < 5; x++) {
192 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
193 LifeCycleStatesEnum.CHECKIN);
194 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
195 LifeCycleStatesEnum.CHECKOUT);
198 // getting to version 2.0
199 changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
200 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
201 changeServiceState.getErrorCode() == 200);
202 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
204 // getting to version 2.5
205 for (int x = 0; x < 5; x++) {
206 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
207 LifeCycleStatesEnum.CHECKIN);
208 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
209 LifeCycleStatesEnum.CHECKOUT);
210 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
213 // validate get response
214 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
215 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
216 Map<String, String> getVersionsMap = res.getAllVersions();
217 assertTrue(origVersionsMap.equals(getVersionsMap));
221 public void GetAllServiceVersions_ReadyForCertification_version05() throws Exception {
222 // addMandatoryArtifactsToService();
223 Map<String, String> origVersionsMap = new HashMap<String, String>();
224 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
225 for (int x = 0; x < 4; x++) {
226 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
227 LifeCycleStatesEnum.CHECKIN);
228 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
229 LifeCycleStatesEnum.CHECKOUT);
230 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
233 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
234 LifeCycleStatesEnum.CHECKIN);
235 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
236 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
238 // validate get response
239 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
240 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
241 Map<String, String> getVersionsMap = res.getAllVersions();
242 assertTrue(origVersionsMap.equals(getVersionsMap));
246 public void GetAllServiceVersions_CertifactionInProgress_version05() throws Exception {
247 // addMandatoryArtifactsToService();
248 Map<String, String> origVersionsMap = new HashMap<String, String>();
249 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
250 for (int x = 0; x < 4; x++) {
251 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
252 LifeCycleStatesEnum.CHECKIN);
253 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
254 LifeCycleStatesEnum.CHECKOUT);
255 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
258 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
259 LifeCycleStatesEnum.CHECKIN);
260 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
261 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
262 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
263 LifeCycleStatesEnum.STARTCERTIFICATION);
265 // validate get response
266 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
267 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
268 Map<String, String> getVersionsMap = res.getAllVersions();
269 assertTrue(origVersionsMap.equals(getVersionsMap));
273 public void GetAllServiceVersions_Certified_version10() throws Exception {
274 // addMandatoryArtifactsToService();
275 Map<String, String> origVersionsMap = new HashMap<String, String>();
276 // get to version 0.5
277 for (int x = 0; x < 4; x++) {
278 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
279 LifeCycleStatesEnum.CHECKIN);
280 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
281 LifeCycleStatesEnum.CHECKOUT);
286 RestResponse changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
287 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
288 changeServiceState.getErrorCode() == 200);
289 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
291 // validate get response
292 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
293 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
294 Map<String, String> getVersionsMap = res.getAllVersions();
295 assertTrue(origVersionsMap.equals(getVersionsMap));
299 public void GetAllServiceVersions_Certified_version20() throws Exception {
300 // addMandatoryArtifactsToService();
301 Map<String, String> origVersionsMap = new HashMap<String, String>();
302 // get to version 0.5
303 for (int x = 0; x < 4; x++) {
304 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
305 LifeCycleStatesEnum.CHECKIN);
306 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
307 LifeCycleStatesEnum.CHECKOUT);
311 RestResponse changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
312 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
313 changeServiceState.getErrorCode() == 200);
314 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
317 for (int x = 0; x < 4; x++) {
318 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
319 LifeCycleStatesEnum.CHECKIN);
320 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
321 LifeCycleStatesEnum.CHECKOUT);
325 changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
326 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
327 changeServiceState.getErrorCode() == 200);
328 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
330 // validate get response
331 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
332 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
333 Map<String, String> getVersionsMap = res.getAllVersions();
334 assertTrue(origVersionsMap.equals(getVersionsMap));
338 public void GetAllServiceVersions_ServiceNotFound() throws Exception {
340 RestResponse serviceGetResponse = ServiceRestUtils.getService("123456789", sdncAdminDetails);
341 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.SERVICE_NOT_FOUND.name());
342 assertEquals("Check response code after get service without cache", errorInfo.getCode(),
343 serviceGetResponse.getErrorCode());
345 List<String> variables = Arrays.asList("123456789");
346 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.SERVICE_NOT_FOUND.name(), variables,
347 serviceGetResponse.getResponse());