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.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.STATUS_CODE_RESTRICTED_OPERATION;
24 import static org.testng.AssertJUnit.assertNull;
25 import static org.testng.AssertJUnit.assertTrue;
27 import java.util.ArrayList;
28 import java.util.List;
30 import org.junit.Rule;
31 import org.junit.rules.TestName;
32 import org.openecomp.sdc.be.dao.api.ActionStatus;
33 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
34 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
35 import org.openecomp.sdc.be.model.LifecycleStateEnum;
36 import org.openecomp.sdc.be.model.Service;
37 import org.openecomp.sdc.be.model.User;
38 import org.openecomp.sdc.ci.tests.api.ComponentInstanceBaseTest;
39 import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails;
40 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
41 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
42 import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
43 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
44 import org.openecomp.sdc.ci.tests.datatypes.enums.NormativeTypesEnum;
45 import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum;
46 import org.openecomp.sdc.ci.tests.datatypes.enums.ServiceCategoriesEnum;
47 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
48 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
49 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
50 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
51 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
52 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
53 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
54 import org.openecomp.sdc.ci.tests.utils.rest.ServiceRestUtils;
55 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
56 import org.testng.annotations.BeforeMethod;
57 import org.testng.annotations.Test;
59 import com.google.gson.JsonArray;
60 import com.google.gson.JsonElement;
61 import com.google.gson.JsonParser;
63 public class GetServiceLatestVersionTest extends ComponentInstanceBaseTest {
65 protected ArtifactReqDetails heatArtifactDetails;
68 public static TestName name = new TestName();
70 public GetServiceLatestVersionTest() {
71 super(name, GetServiceLatestVersionTest.class.getName());
75 public void before() throws Exception {
77 createAtomicResource(resourceDetailsVFC_01);
78 changeResourceStateToCertified(resourceDetailsVFC_01);
79 createAtomicResource(resourceDetailsCP_01);
80 changeResourceStateToCertified(resourceDetailsCP_01);
81 createAtomicResource(resourceDetailsVL_01);
82 changeResourceStateToCertified(resourceDetailsVL_01);
83 createVF(resourceDetailsVF_01);
84 certifyVf(resourceDetailsVF_01);
85 createService(serviceDetails_01);
86 createService(serviceDetails_02);
87 createService(serviceDetails_03);
88 createProduct(productDetails_01);
89 createVFInstanceDuringSetup(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); // create
96 * RestResponse restResponse =
97 * LifecycleRestUtils.changeServiceState(serviceDetails_01,
98 * sdncDesignerDetails, LifeCycleStates.CHECKIN);
99 * ResourceRestUtils.checkSuccess(restResponse);
103 public void initMembers() throws Exception {
104 heatArtifactDetails = ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType());
105 sdncPsDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_STRATEGIST1);
106 sdncPmDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1);
107 sdncDesignerDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
108 sdncAdminDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
109 sdncTesterDetails = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
110 resourceDetailsVFC_01 = ElementFactory.getDefaultResourceByType("VFC100", NormativeTypesEnum.COMPUTE,
111 ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, sdncDesignerDetails.getUserId(),
112 ResourceTypeEnum.VFC.toString()); // resourceType = VFC
113 resourceDetailsVF_01 = ElementFactory.getDefaultResourceByType("VF100", NormativeTypesEnum.ROOT,
114 ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, sdncDesignerDetails.getUserId(),
115 ResourceTypeEnum.VF.toString());
116 resourceDetailsCP_01 = ElementFactory.getDefaultResourceByType("CP100", NormativeTypesEnum.PORT,
117 ResourceCategoryEnum.GENERIC_NETWORK_ELEMENTS, sdncDesignerDetails.getUserId(),
118 ResourceTypeEnum.CP.toString());
119 resourceDetailsVL_01 = ElementFactory.getDefaultResourceByType("VL100", NormativeTypesEnum.NETWORK,
120 ResourceCategoryEnum.GENERIC_NETWORK_ELEMENTS, sdncDesignerDetails.getUserId(),
121 ResourceTypeEnum.VL.toString());
122 serviceDetails_01 = ElementFactory.getDefaultService("newtestservice1", ServiceCategoriesEnum.MOBILITY,
123 sdncDesignerDetails.getUserId());
124 serviceDetails_02 = ElementFactory.getDefaultService("newtestservice2", ServiceCategoriesEnum.MOBILITY,
125 sdncDesignerDetails.getUserId());
126 serviceDetails_03 = ElementFactory.getDefaultService("newtestservice3", ServiceCategoriesEnum.MOBILITY,
127 sdncDesignerDetails.getUserId());
128 productDetails_01 = ElementFactory.getDefaultProduct("product01");
132 public void getServicesLatestVersionServiceInCheckOutState() throws Exception {
133 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncPsDetails1);
134 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
135 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
136 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceDetails_01.getUniqueId());
137 assertNull("No Service returned, one service in checkout state 0.1", servcieFromList);
141 public void getServicesLatestVersionServiceInCheckInState() throws Exception {
142 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
143 LifeCycleStatesEnum.CHECKIN);
144 ResourceRestUtils.checkSuccess(restResponse);
145 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncPsDetails1);
146 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
147 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
148 assertTrue(serviceList.size() == 1);
149 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceDetails_01.getUniqueId());
150 assertTrue(servcieFromList.getVersion().equals("0.1"));
154 public void getServicesLatestVersionByPm() throws Exception {
155 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
156 LifeCycleStatesEnum.CHECKIN);
157 ResourceRestUtils.checkSuccess(restResponse);
158 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncPmDetails1);
159 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
160 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
161 assertTrue(serviceList.size() == 1);
162 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceDetails_01.getUniqueId());
163 assertTrue(servcieFromList.getVersion().equals("0.1"));
167 public void getServicesLatestVersionByAdmin() throws Exception {
168 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
169 LifeCycleStatesEnum.CHECKIN);
170 ResourceRestUtils.checkSuccess(restResponse);
171 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncAdminDetails);
172 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
173 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
174 assertTrue(serviceList.size() == 1);
175 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceDetails_01.getUniqueId());
176 assertTrue(servcieFromList.getVersion().equals("0.1"));
180 public void getServicesLatestVersionService02CheckOutState() throws Exception {
181 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
182 LifeCycleStatesEnum.CHECKIN);
183 ResourceRestUtils.checkSuccess(restResponse);
184 String serviceUniqueID = ResponseParser.getUniqueIdFromResponse(restResponse);
185 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
186 LifeCycleStatesEnum.CHECKOUT);
187 ResourceRestUtils.checkSuccess(restResponse);
188 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncDesignerDetails);
189 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
190 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
191 assertTrue(serviceList.size() == 1);
192 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceUniqueID);
193 assertTrue(servcieFromList.getVersion().equals("0.1"));
194 servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceDetails_01.getUniqueId());
195 assertNull(servcieFromList);
199 public void getServicesLatestVersionService02CheckInState() throws Exception {
200 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
201 LifeCycleStatesEnum.CHECKIN);
202 ResourceRestUtils.checkSuccess(restResponse);
203 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
204 LifeCycleStatesEnum.CHECKOUT);
205 ResourceRestUtils.checkSuccess(restResponse);
206 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
207 LifeCycleStatesEnum.CHECKIN);
208 ResourceRestUtils.checkSuccess(restResponse);
209 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncDesignerDetails);
210 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
211 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
212 assertTrue(serviceList.size() == 1);
213 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceDetails_01.getUniqueId());
214 assertTrue(servcieFromList.getVersion().equals("0.2"));
218 public void getServicesLatestVersionServiceWaitingForCertification() throws Exception {
219 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
220 LifeCycleStatesEnum.CHECKIN);
221 ResourceRestUtils.checkSuccess(restResponse);
222 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
223 LifeCycleStatesEnum.CHECKOUT);
224 ResourceRestUtils.checkSuccess(restResponse);
225 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
226 LifeCycleStatesEnum.CHECKIN);
227 ResourceRestUtils.checkSuccess(restResponse);
228 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
229 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
230 ResourceRestUtils.checkSuccess(restResponse);
231 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncDesignerDetails);
232 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
233 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
234 assertTrue(serviceList.size() == 1);
235 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceDetails_01.getUniqueId());
236 assertTrue(servcieFromList.getVersion().equals("0.2"));
240 public void getServicesLatestVersionServiceCertificationInProgress() throws Exception {
241 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
242 LifeCycleStatesEnum.CHECKIN);
243 ResourceRestUtils.checkSuccess(restResponse);
244 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
245 LifeCycleStatesEnum.CHECKOUT);
246 ResourceRestUtils.checkSuccess(restResponse);
247 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
248 LifeCycleStatesEnum.CHECKIN);
249 ResourceRestUtils.checkSuccess(restResponse);
250 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
251 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
252 ResourceRestUtils.checkSuccess(restResponse);
253 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncTesterDetails,
254 LifeCycleStatesEnum.STARTCERTIFICATION);
255 ResourceRestUtils.checkSuccess(restResponse);
256 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncDesignerDetails);
257 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
258 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
259 assertTrue(serviceList.size() == 1);
260 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceDetails_01.getUniqueId());
261 assertTrue(servcieFromList.getVersion().equals("0.2"));
265 public void getServicesLatestVersionServiceCertificationFail() throws Exception {
266 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
267 LifeCycleStatesEnum.CHECKIN);
268 ResourceRestUtils.checkSuccess(restResponse);
269 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
270 LifeCycleStatesEnum.CHECKOUT);
271 ResourceRestUtils.checkSuccess(restResponse);
272 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
273 LifeCycleStatesEnum.CHECKIN);
274 ResourceRestUtils.checkSuccess(restResponse);
275 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
276 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
277 ResourceRestUtils.checkSuccess(restResponse);
278 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncTesterDetails,
279 LifeCycleStatesEnum.STARTCERTIFICATION);
280 ResourceRestUtils.checkSuccess(restResponse);
281 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncTesterDetails,
282 LifeCycleStatesEnum.FAILCERTIFICATION);
283 ResourceRestUtils.checkSuccess(restResponse);
284 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncDesignerDetails);
285 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
286 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
287 assertTrue(serviceList.size() == 1);
288 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceDetails_01.getUniqueId());
289 assertTrue(servcieFromList.getVersion().equals("0.2"));
293 public void getServicesLatestVersionServiceCertifed() throws Exception {
294 certifyService(serviceDetails_01);
295 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncDesignerDetails);
296 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
297 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
298 assertTrue(serviceList.size() == 1);
299 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceDetails_01.getUniqueId());
300 assertTrue(servcieFromList.getVersion().equals("1.0"));
304 public void getLatestVersionServiceHasSeveralCertifedVersion_01() throws Exception {
305 RestResponse certifyServiceResponse;
306 String serviceUniqueIdFromResponse = null;
307 int numberOfCertifiedService = 3;
308 for (int i = 0; i < numberOfCertifiedService; i++) {
309 certifyServiceResponse = certifyService(serviceDetails_01);
310 ServiceRestUtils.checkSuccess(certifyServiceResponse);
311 if (i == (numberOfCertifiedService - 1)) {
312 serviceUniqueIdFromResponse = ResponseParser.getUniqueIdFromResponse(certifyServiceResponse);
314 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
315 LifeCycleStatesEnum.CHECKOUT);
316 ServiceRestUtils.checkSuccess(restResponse);
318 // We have service with following versions : 1.0, 2.0 ,3.0 and
320 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncDesignerDetails);
321 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
322 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
323 assertTrue(serviceList.size() == 1);
324 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceUniqueIdFromResponse);
325 assertTrue(servcieFromList.getVersion().equals("3.0"));
329 public void getLatestVersionServiceHasSeveralCertifedVersions02() throws Exception {
330 RestResponse certifyServiceResponse;
331 certifyServiceResponse = certifyService(serviceDetails_01);
332 ServiceRestUtils.checkSuccess(certifyServiceResponse);
333 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
334 LifeCycleStatesEnum.CHECKOUT);
335 ServiceRestUtils.checkSuccess(restResponse);
336 certifyServiceResponse = certifyService(serviceDetails_01);
337 ServiceRestUtils.checkSuccess(certifyServiceResponse);
338 // We have service with following versions : 1.0, 2.0
339 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncDesignerDetails);
340 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
341 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
342 assertTrue(serviceList.size() == 1);
343 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceDetails_01.getUniqueId());
344 assertTrue(servcieFromList.getVersion().equals("2.0"));
348 public void getLatestVersionServiceCertifedWasCheckedOutAndCheckedin() throws Exception {
349 RestResponse certifyServiceResponse;
350 int numberOfCertifiedService = 3;
351 for (int i = 0; i < numberOfCertifiedService; i++) {
352 certifyServiceResponse = certifyService(serviceDetails_01);
353 ServiceRestUtils.checkSuccess(certifyServiceResponse);
354 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
355 LifeCycleStatesEnum.CHECKOUT);
356 ServiceRestUtils.checkSuccess(restResponse);
358 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
359 LifeCycleStatesEnum.CHECKIN);
360 ServiceRestUtils.checkSuccess(restResponse);
361 // We have service with following versions : 1.0, 2.0 and 2.1(checkedIn)
362 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncDesignerDetails);
363 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
364 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
365 assertTrue(serviceList.size() == 1);
366 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceDetails_01.getUniqueId());
367 assertTrue(servcieFromList.getVersion().equals("3.1"));
371 public void getLatestVersionServiceCheckOutCertifedService() throws Exception {
372 RestResponse restResponse;
373 String serviceUniqueIdFromResponse = null;
374 RestResponse certifyServiceResponse = certifyService(serviceDetails_01);
375 ServiceRestUtils.checkSuccess(certifyServiceResponse);
376 for (int i = 0; i < 11; i++) {
377 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
378 LifeCycleStatesEnum.CHECKOUT);
379 ServiceRestUtils.checkSuccess(restResponse);
380 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
381 LifeCycleStatesEnum.CHECKIN);
382 ServiceRestUtils.checkSuccess(restResponse);
384 serviceUniqueIdFromResponse = ResponseParser.getUniqueIdFromResponse(restResponse);
387 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
388 LifeCycleStatesEnum.CHECKOUT);
389 ServiceRestUtils.checkSuccess(restResponse);
390 // We have service with following versions : 1.0 and 1.11(Check-out)
391 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncDesignerDetails);
392 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
393 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
394 assertTrue(serviceList.size() == 1);
395 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceUniqueIdFromResponse);
396 assertTrue(servcieFromList.getVersion().equals("1.11"));
400 public void getLatestVersionServiceCheckOutCheckInCertifedService() throws Exception {
401 RestResponse restResponse;
402 String serviceUniqueIdFromResponse = null;
403 RestResponse certifyServiceResponse = certifyService(serviceDetails_01);
404 ServiceRestUtils.checkSuccess(certifyServiceResponse);
405 for (int i = 0; i < 12; i++) {
406 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
407 LifeCycleStatesEnum.CHECKOUT);
408 ServiceRestUtils.checkSuccess(restResponse);
409 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
410 LifeCycleStatesEnum.CHECKIN);
411 ServiceRestUtils.checkSuccess(restResponse);
413 serviceUniqueIdFromResponse = ResponseParser.getUniqueIdFromResponse(restResponse);
416 // We have service with following versions : 1.0 and 1.11(Check-out)
417 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncDesignerDetails);
418 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
419 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
420 assertTrue(serviceList.size() == 1);
421 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceUniqueIdFromResponse);
422 assertTrue(servcieFromList.getVersion().equals("1.12"));
426 public void getLatestVersionServiceCertifedCheckedOutAndInWaitingForCertificationState() throws Exception {
427 certifyService(serviceDetails_01); // 1.0
428 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
429 LifeCycleStatesEnum.CHECKOUT);
430 ServiceRestUtils.checkSuccess(restResponse);
431 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
432 LifeCycleStatesEnum.CHECKIN);
433 ServiceRestUtils.checkSuccess(restResponse);
434 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
435 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
436 ServiceRestUtils.checkSuccess(restResponse);
437 // We have service with following versions : 1.0 and 1.1(Waiting For
439 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncDesignerDetails);
440 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
441 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
442 assertTrue(serviceList.size() == 1);
443 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceDetails_01.getUniqueId());
444 assertTrue(servcieFromList.getVersion().equals("1.1"));
448 public void getLatestVersionServiceCertifedCheckedOutAndInCertificationInProgressState() throws Exception {
449 certifyService(serviceDetails_01); // 1.0
450 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
451 LifeCycleStatesEnum.CHECKOUT);
452 ServiceRestUtils.checkSuccess(restResponse);
453 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
454 LifeCycleStatesEnum.CHECKIN);
455 ServiceRestUtils.checkSuccess(restResponse);
456 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
457 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
458 ServiceRestUtils.checkSuccess(restResponse);
459 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncTesterDetails,
460 LifeCycleStatesEnum.STARTCERTIFICATION);
461 ServiceRestUtils.checkSuccess(restResponse);
462 // We have service with following versions : 1.0 and 1.1(Certification
464 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncDesignerDetails);
465 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
466 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
467 assertTrue(serviceList.size() == 1);
468 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceDetails_01.getUniqueId());
469 assertTrue(servcieFromList.getVersion().equals("1.1"));
473 @Test(enabled = false)
474 public void getLatestVersionByNonAsdcUser() throws Exception {
475 User nonAsdcUser = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
476 nonAsdcUser.setUserId("gg750g");
477 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(nonAsdcUser);
478 assertTrue(getServicesLatestVersion.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION);
479 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(),
480 getServicesLatestVersion.getResponse());
484 @Test(enabled = false)
485 public void getLatestVersionUserIdIsEmpty() throws Exception {
486 User nonAsdcUser = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
487 nonAsdcUser.setUserId("");
488 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(nonAsdcUser);
489 assertTrue(getServicesLatestVersion.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION);
490 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(),
491 getServicesLatestVersion.getResponse());
495 public void getServicesLatestVersionByTester() throws Exception {
496 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
497 LifeCycleStatesEnum.CHECKIN);
498 ResourceRestUtils.checkSuccess(restResponse);
499 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncTesterDetails);
500 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
501 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
502 assertTrue(serviceList.size() == 1);
503 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceDetails_01.getUniqueId());
504 assertTrue(servcieFromList.getVersion().equals("0.1"));
508 public void getLatestVersionSeveralServicesInDifferentVersion() throws Exception {
509 RestResponse restResponse = certifyService(serviceDetails_01); // 1.0
510 ServiceRestUtils.checkSuccess(restResponse);
511 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
512 LifeCycleStatesEnum.CHECKOUT);
513 ServiceRestUtils.checkSuccess(restResponse);
514 restResponse = certifyService(serviceDetails_01);
515 ServiceRestUtils.checkSuccess(restResponse);
516 String service1_UniqueIdFromResponse = ResponseParser.getUniqueIdFromResponse(restResponse);
517 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails,
518 LifeCycleStatesEnum.CHECKOUT);
519 ServiceRestUtils.checkSuccess(restResponse); // serviceDetails_01
523 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_02, sdncDesignerDetails,
524 LifeCycleStatesEnum.CHECKIN);
525 ServiceRestUtils.checkSuccess(restResponse);
526 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_02, sdncDesignerDetails,
527 LifeCycleStatesEnum.CHECKOUT);
528 ServiceRestUtils.checkSuccess(restResponse);
529 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_02, sdncDesignerDetails,
530 LifeCycleStatesEnum.CHECKIN);
531 ServiceRestUtils.checkSuccess(restResponse); // serviceDetails_02
535 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_03, sdncDesignerDetails,
536 LifeCycleStatesEnum.CHECKIN);
537 ServiceRestUtils.checkSuccess(restResponse);
538 String service3_UniqueIdFromResponse = ResponseParser.getUniqueIdFromResponse(restResponse);
539 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_03, sdncDesignerDetails,
540 LifeCycleStatesEnum.CHECKOUT);
541 ServiceRestUtils.checkSuccess(restResponse); // serviceDetails_03
545 RestResponse getServicesLatestVersion = ServiceRestUtils.getServiceLatestVersionList(sdncDesignerDetails);
546 ServiceRestUtils.checkSuccess(getServicesLatestVersion);
547 List<Service> serviceList = restResponseToResourceObjectList(getServicesLatestVersion);
548 assertTrue(serviceList.size() == 3);
549 Service servcieFromList = getResourceObjectFromResourceListByUid(serviceList, service1_UniqueIdFromResponse);
550 assertTrue(servcieFromList.getVersion().equals("2.0"));
551 servcieFromList = getResourceObjectFromResourceListByUid(serviceList, serviceDetails_02.getUniqueId());
552 assertTrue(servcieFromList.getVersion().equals("0.2"));
553 servcieFromList = getResourceObjectFromResourceListByUid(serviceList, service3_UniqueIdFromResponse);
554 assertTrue(servcieFromList.getVersion().equals("0.1"));
557 ///////////////////////////////////////////////////////////////
558 private RestResponse certifyService(ServiceReqDetails serviceDetails) throws Exception {
559 RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails,
560 LifeCycleStatesEnum.CHECKIN);
561 ServiceRestUtils.checkSuccess(restResponse);
562 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails,
563 LifeCycleStatesEnum.CHECKOUT);
564 ServiceRestUtils.checkSuccess(restResponse);
565 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails,
566 LifeCycleStatesEnum.CHECKIN);
567 ServiceRestUtils.checkSuccess(restResponse);
568 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails,
569 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
570 ServiceRestUtils.checkSuccess(restResponse);
571 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, sdncTesterDetails,
572 LifeCycleStatesEnum.STARTCERTIFICATION);
573 ServiceRestUtils.checkSuccess(restResponse);
574 restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, sdncTesterDetails,
575 LifeCycleStatesEnum.CERTIFY);
576 ServiceRestUtils.checkSuccess(restResponse);
580 protected List<Service> restResponseToResourceObjectList(RestResponse restResponse) {
581 JsonElement jelement = new JsonParser().parse(restResponse.getResponse());
582 JsonArray jsonArray = jelement.getAsJsonArray();
583 List<Service> restResponseArray = new ArrayList<>();
584 Service service = null;
585 for (int i = 0; i < jsonArray.size(); i++) {
586 String serviceString = (String) jsonArray.get(i).toString();
587 service = ResponseParser.convertServiceResponseToJavaObject(serviceString);
588 restResponseArray.add(service);
590 return restResponseArray;
593 protected Service getResourceObjectFromResourceListByUid(List<Service> serviceList, String uid) {
594 if (serviceList != null && serviceList.size() > 0) {
595 for (Service service : serviceList) {
596 if (service.getUniqueId().equals(uid))
604 private RestResponse changeResourceStateToCertified(ResourceReqDetails resourceDetails) throws Exception {
605 RestResponse restResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncDesignerDetails,
606 LifeCycleStatesEnum.CHECKIN);
607 ResourceRestUtils.checkSuccess(restResponse);
608 restResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncDesignerDetails,
609 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
610 if (restResponse.getErrorCode() == 200) {
611 restResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncTesterDetails,
612 LifeCycleStatesEnum.STARTCERTIFICATION);
615 if (restResponse.getErrorCode() == 200) {
616 restResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncTesterDetails,
617 LifeCycleStatesEnum.CERTIFY);
618 if (restResponse.getErrorCode() == 200) {
619 String newVersion = ResponseParser.getVersionFromResponse(restResponse);
620 resourceDetails.setVersion(newVersion);
621 resourceDetails.setLifecycleState(LifecycleStateEnum.CERTIFIED);
622 resourceDetails.setLastUpdaterUserId(sdncTesterDetails.getUserId());
623 resourceDetails.setLastUpdaterFullName(sdncTesterDetails.getFullName());
624 String uniqueIdFromRresponse = ResponseParser.getValueFromJsonResponse(restResponse.getResponse(),
626 resourceDetails.setUniqueId(uniqueIdFromRresponse);
632 // private void certifyVf(ResourceReqDetails resource) throws Exception {
633 // RestResponse createAtomicResourceInstance =
634 // createAtomicInstanceForVFDuringSetup(resource, resourceDetailsVFC_01,
635 // sdncDesignerDetails);
636 // ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
637 // createAtomicResourceInstance =
638 // createAtomicInstanceForVFDuringSetup(resource, resourceDetailsCP_01,
639 // sdncDesignerDetails);
640 // ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
641 // createAtomicResourceInstance =
642 // createAtomicInstanceForVFDuringSetup(resource, resourceDetailsVL_01,
643 // sdncDesignerDetails);
644 // ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
645 // //createVFInstanceDuringSetup(service, resource, sdncDesignerDetails);
646 // RestResponse response =
647 // ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails,
648 // sdncDesignerDetails, resource.getUniqueId());
649 // ResourceRestUtils.checkSuccess(response);
650 // RestResponse changeResourceStateToCertified =
651 // changeResourceStateToCertified(resource);
652 // ResourceRestUtils.checkSuccess(changeResourceStateToCertified);
655 private void certifyVf(ResourceReqDetails resource) throws Exception {
656 RestResponse createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resource, resourceDetailsCP_01,
657 sdncDesignerDetails);
658 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
659 String cpCompInstId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance);
661 createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resource, resourceDetailsVFC_01,
662 sdncDesignerDetails);
663 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
664 String computeCompInstId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance);
666 createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resource, resourceDetailsVL_01,
667 sdncDesignerDetails);
668 ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance);
669 String vlCompInstId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance);
671 // Fixing Vl/Cp req/cap
672 ComponentTypeEnum containerCompType = ComponentTypeEnum.RESOURCE;
673 User user = sdncDesignerDetails;
674 fulfillCpRequirement(resource, cpCompInstId, computeCompInstId, computeCompInstId, user, containerCompType);
675 consumeVlCapability(resource, cpCompInstId, vlCompInstId, cpCompInstId, user, containerCompType);
677 RestResponse response = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails,
678 sdncDesignerDetails, resource.getUniqueId());
679 ResourceRestUtils.checkSuccess(response);
680 RestResponse changeResourceStateToCertified = changeResourceStateToCertified(resource);
681 ResourceRestUtils.checkSuccess(changeResourceStateToCertified);