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();
74 public void setUp() throws Exception {
76 sdncDesignerDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
77 sdncDesignerDetails2 = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2);
78 sdncAdminDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
79 sdncGovernorDeatails = ElementFactory.getDefaultUser(UserRoleEnum.GOVERNOR);
80 sdncTesterDetails = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
81 sdncOpsDetails = ElementFactory.getDefaultUser(UserRoleEnum.OPS);
82 resourceDetailsVFCcomp = AtomicOperationUtils
83 .createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true).left().value();
84 AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceDetailsVFCcomp, UserRoleEnum.DESIGNER,
87 AtomicOperationUtils.changeComponentState(resourceDetailsVFCcomp, UserRoleEnum.DESIGNER,
88 LifeCycleStatesEnum.CERTIFY, true);
89 serviceServ = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value();
90 AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceDetailsVFCcomp, serviceServ,
91 UserRoleEnum.DESIGNER, true);
93 serviceDetails = new ServiceReqDetails(serviceServ);
98 public void GetAllServiceVersions_Version05() throws Exception {
100 Map<String, String> origVersionsMap = new HashMap<String, String>();
101 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
102 for (int x = 0; x < 4; x++) {
103 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
104 LifeCycleStatesEnum.CHECKIN);
105 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
106 LifeCycleStatesEnum.CHECKOUT);
107 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
110 // validate get response
111 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncDesignerDetails);
112 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
113 Map<String, String> getVersionsMap = res.getAllVersions();
114 assertTrue(origVersionsMap.equals(getVersionsMap));
119 public void GetAllServiceVersions_Version01() throws Exception {
121 Map<String, String> origVersionsMap = new HashMap<String, String>();
122 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
124 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncDesignerDetails);
125 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
126 Map<String, String> getVersionsMap = res.getAllVersions();
127 assertTrue(origVersionsMap.equals(getVersionsMap));
131 public void GetAllServiceVersions_Version15() throws Exception {
132 // addMandatoryArtifactsToService();
133 Map<String, String> origVersionsMap = new HashMap<String, String>();
134 for (int x = 0; x < 4; x++) {
135 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
136 LifeCycleStatesEnum.CHECKIN);
137 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
138 LifeCycleStatesEnum.CHECKOUT);
141 RestResponse changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
142 // serviceServ.setUniqueId(serviceDetails.getUniqueId());
143 // RestResponse changeServiceState =
144 // AtomicOperationUtils.changeComponentState(serviceServ,
145 // UserRoleEnum.ADMIN, LifeCycleStatesEnum.CERTIFY, false).getRight();
147 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
148 changeServiceState.getErrorCode() == 200);
149 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
151 for (int x = 0; x < 5; x++) {
152 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
153 LifeCycleStatesEnum.CHECKOUT);
154 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
155 LifeCycleStatesEnum.CHECKIN);
156 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
160 // validate get response
161 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
162 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
163 Map<String, String> getVersionsMap = res.getAllVersions();
164 assertTrue(origVersionsMap.equals(getVersionsMap));
168 public void GetAllServiceVersions_Version25() throws Exception {
169 // addMandatoryArtifactsToService();
170 Map<String, String> origVersionsMap = new HashMap<String, String>();
171 for (int x = 0; x < 4; x++) {
172 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
173 LifeCycleStatesEnum.CHECKIN);
174 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
175 LifeCycleStatesEnum.CHECKOUT);
178 // getting to version 1.0
179 RestResponse changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
180 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
181 changeServiceState.getErrorCode() == 200);
182 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
184 // getting to version 1.5
185 for (int x = 0; x < 5; x++) {
186 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
187 LifeCycleStatesEnum.CHECKIN);
188 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
189 LifeCycleStatesEnum.CHECKOUT);
192 // getting to version 2.0
193 changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
194 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
195 changeServiceState.getErrorCode() == 200);
196 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
198 // getting to version 2.5
199 for (int x = 0; x < 5; x++) {
200 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
201 LifeCycleStatesEnum.CHECKIN);
202 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
203 LifeCycleStatesEnum.CHECKOUT);
204 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
207 // validate get response
208 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
209 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
210 Map<String, String> getVersionsMap = res.getAllVersions();
211 assertTrue(origVersionsMap.equals(getVersionsMap));
215 public void GetAllServiceVersions_ReadyForCertification_version05() throws Exception {
216 // addMandatoryArtifactsToService();
217 Map<String, String> origVersionsMap = new HashMap<String, String>();
218 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
219 for (int x = 0; x < 4; x++) {
220 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
221 LifeCycleStatesEnum.CHECKIN);
222 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
223 LifeCycleStatesEnum.CHECKOUT);
224 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
227 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
228 LifeCycleStatesEnum.CHECKIN);
229 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
230 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
232 // validate get response
233 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
234 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
235 Map<String, String> getVersionsMap = res.getAllVersions();
236 assertTrue(origVersionsMap.equals(getVersionsMap));
240 public void GetAllServiceVersions_CertifactionInProgress_version05() throws Exception {
241 // addMandatoryArtifactsToService();
242 Map<String, String> origVersionsMap = new HashMap<String, String>();
243 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
244 for (int x = 0; x < 4; x++) {
245 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
246 LifeCycleStatesEnum.CHECKIN);
247 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
248 LifeCycleStatesEnum.CHECKOUT);
249 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
252 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
253 LifeCycleStatesEnum.CHECKIN);
254 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
255 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
256 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
257 LifeCycleStatesEnum.STARTCERTIFICATION);
259 // validate get response
260 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
261 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
262 Map<String, String> getVersionsMap = res.getAllVersions();
263 assertTrue(origVersionsMap.equals(getVersionsMap));
267 public void GetAllServiceVersions_Certified_version10() throws Exception {
268 // addMandatoryArtifactsToService();
269 Map<String, String> origVersionsMap = new HashMap<String, String>();
270 // get to version 0.5
271 for (int x = 0; x < 4; x++) {
272 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
273 LifeCycleStatesEnum.CHECKIN);
274 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
275 LifeCycleStatesEnum.CHECKOUT);
280 RestResponse changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
281 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
282 changeServiceState.getErrorCode() == 200);
283 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
285 // validate get response
286 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
287 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
288 Map<String, String> getVersionsMap = res.getAllVersions();
289 assertTrue(origVersionsMap.equals(getVersionsMap));
293 public void GetAllServiceVersions_Certified_version20() throws Exception {
294 // addMandatoryArtifactsToService();
295 Map<String, String> origVersionsMap = new HashMap<String, String>();
296 // get to version 0.5
297 for (int x = 0; x < 4; x++) {
298 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
299 LifeCycleStatesEnum.CHECKIN);
300 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
301 LifeCycleStatesEnum.CHECKOUT);
305 RestResponse changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
306 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
307 changeServiceState.getErrorCode() == 200);
308 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
311 for (int x = 0; x < 4; x++) {
312 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
313 LifeCycleStatesEnum.CHECKIN);
314 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
315 LifeCycleStatesEnum.CHECKOUT);
319 changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
320 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
321 changeServiceState.getErrorCode() == 200);
322 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
324 // validate get response
325 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
326 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
327 Map<String, String> getVersionsMap = res.getAllVersions();
328 assertTrue(origVersionsMap.equals(getVersionsMap));
332 public void GetAllServiceVersions_ServiceNotFound() throws Exception {
334 RestResponse serviceGetResponse = ServiceRestUtils.getService("123456789", sdncAdminDetails);
335 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.SERVICE_NOT_FOUND.name());
336 assertEquals("Check response code after get service without cache", errorInfo.getCode(),
337 serviceGetResponse.getErrorCode());
339 List<String> variables = Arrays.asList("123456789");
340 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.SERVICE_NOT_FOUND.name(), variables,
341 serviceGetResponse.getResponse());