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.lifecycle;
23 import org.apache.log4j.lf5.util.ResourceUtils;
24 import org.junit.rules.TestName;
25 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
26 import org.openecomp.sdc.be.model.LifecycleStateEnum;
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.ArtifactReqDetails;
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.*;
35 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
36 import org.openecomp.sdc.ci.tests.utils.ArtifactUtils;
37 import org.openecomp.sdc.ci.tests.utils.DbUtils;
38 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
39 import org.openecomp.sdc.ci.tests.utils.rest.*;
40 import org.testng.annotations.BeforeMethod;
42 import java.io.IOException;
44 import static org.testng.AssertJUnit.*;
49 * resourceDetails - create, Add Heat, certify resourceDetails1 - create
50 * resource, LCS - CheckOut serviceDetails - create, add RI from
51 * resourceDetails serviceDetails2 - create, add RI from resourceDetails
52 * serviceDetailsEmpty - create, LCS - CheckOut serviceDetailsEmpty2 -
53 * create, LCS - CheckOut
55 public abstract class LCSbaseTest extends ComponentBaseTest {
57 protected ResourceReqDetails resourceDetails;
58 protected ResourceReqDetails resourceDetails1;
59 protected ServiceReqDetails serviceDetails;
60 protected ServiceReqDetails serviceDetails2;
61 protected ServiceReqDetails serviceDetailsEmpty;
62 protected ServiceReqDetails serviceDetailsEmpty2;
63 protected ComponentInstanceReqDetails componentInstanceReqDetails;
64 protected ComponentInstanceReqDetails resourceInstanceReqDetails2;
65 protected User sdncDesignerDetails1;
66 protected User sdncDesignerDetails2;
67 protected static User sdncTesterDeatails1;
68 protected User sdncAdminDetails1;
69 protected ArtifactReqDetails heatArtifactDetails;
70 protected ArtifactReqDetails heatVolArtifactDetails;
71 protected ArtifactReqDetails heatNetArtifactDetails;
73 protected ArtifactReqDetails defaultArtifactDetails;
74 protected ResourceUtils resourceUtils;
75 protected ArtifactUtils artifactUtils;
77 // protected static ServiceUtils serviceUtils = new ServiceUtils();
78 public LCSbaseTest(TestName testName, String className) {
79 super(testName, className);
83 public void before() throws Exception {
91 public void initializeMembers() throws IOException, Exception {
92 resourceDetails = ElementFactory.getDefaultResource();
94 // ElementFactory.getDefaultResource("myNewResource1234567890",
95 // NormativeTypesEnum.ROOT, ResourceServiceCategoriesEnum.ROUTERS,
96 // UserRoleEnum.DESIGNER.getUserId());
97 resourceDetails1 = ElementFactory.getDefaultResource("secondResource", NormativeTypesEnum.ROOT);
98 serviceDetails = ElementFactory.getDefaultService();
99 serviceDetails2 = ElementFactory.getDefaultService("newTestService2", ServiceCategoriesEnum.MOBILITY, "al1976", ServiceInstantiationType.A_LA_CARTE.getValue());
100 serviceDetailsEmpty = ElementFactory.getDefaultService("newEmptyService", ServiceCategoriesEnum.MOBILITY,
101 "al1976", ServiceInstantiationType.A_LA_CARTE.getValue());
102 serviceDetailsEmpty2 = ElementFactory.getDefaultService("newEmptyService2", ServiceCategoriesEnum.MOBILITY,
103 "al1976", ServiceInstantiationType.A_LA_CARTE.getValue());
104 sdncDesignerDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
105 sdncDesignerDetails2 = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2);
106 sdncTesterDeatails1 = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
107 sdncAdminDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
108 heatArtifactDetails = ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType());
109 heatNetArtifactDetails = ElementFactory
110 .getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT_NET.getType());
111 heatVolArtifactDetails = ElementFactory
112 .getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT_VOL.getType());
113 componentInstanceReqDetails = ElementFactory.getDefaultComponentInstance();
114 resourceInstanceReqDetails2 = ElementFactory.getDefaultComponentInstance();
118 protected void createComponents() throws Exception {
120 RestResponse response = ResourceRestUtils.createResource(resourceDetails1, sdncDesignerDetails1);
121 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
122 assertNotNull("resource uniqueId is null:", resourceDetails1.getUniqueId());
124 response = ResourceRestUtils.createResource(resourceDetails, sdncDesignerDetails1);
125 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
126 assertNotNull("resource uniqueId is null:", resourceDetails.getUniqueId());
128 response = ServiceRestUtils.createService(serviceDetails, sdncDesignerDetails1);
129 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
130 assertNotNull("service uniqueId is null:", serviceDetails.getUniqueId());
132 ArtifactReqDetails heatArtifactDetails = ElementFactory
133 .getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType());
134 response = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails, sdncDesignerDetails1,
135 resourceDetails.getUniqueId());
136 assertTrue("add HEAT artifact to resource request returned status:" + response.getErrorCode(),
137 response.getErrorCode() == 200);
139 // certified resource
140 response = LCSbaseTest.certifyResource(resourceDetails, sdncDesignerDetails1);
141 assertTrue("certify resource request returned status:" + response.getErrorCode(),
142 response.getErrorCode() == 200);
144 // add resource instance with HEAT deployment artifact to the service
145 componentInstanceReqDetails.setComponentUid(resourceDetails.getUniqueId());
146 response = ComponentInstanceRestUtils.createComponentInstance(componentInstanceReqDetails, sdncDesignerDetails1,
147 serviceDetails.getUniqueId(), ComponentTypeEnum.SERVICE);
148 assertTrue("response code is not 201, returned: " + response.getErrorCode(), response.getErrorCode() == 201);
150 response = ServiceRestUtils.createService(serviceDetails2, sdncDesignerDetails1);
151 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
152 assertNotNull("service uniqueId is null:", serviceDetails2.getUniqueId());
154 componentInstanceReqDetails.setComponentUid(resourceDetails.getUniqueId());
155 response = ComponentInstanceRestUtils.createComponentInstance(componentInstanceReqDetails, sdncDesignerDetails1,
156 serviceDetails2.getUniqueId(), ComponentTypeEnum.SERVICE);
157 assertTrue("response code is not 201, returned: " + response.getErrorCode(), response.getErrorCode() == 201);
159 response = ServiceRestUtils.createService(serviceDetailsEmpty, sdncDesignerDetails1);
160 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
161 assertNotNull("service uniqueId is null:", serviceDetailsEmpty.getUniqueId());
163 response = ServiceRestUtils.createService(serviceDetailsEmpty2, sdncDesignerDetails1);
164 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
165 assertNotNull("service uniqueId is null:", serviceDetailsEmpty2.getUniqueId());
167 DbUtils.cleanAllAudits();
171 public static RestResponse certifyResource(ResourceReqDetails resourceDetails, User user) throws Exception {
172 /* RestResponse restResponseResource = LifecycleRestUtils.changeResourceState(resourceDetails, user.getUserId(),
173 LifeCycleStatesEnum.CHECKIN);
174 // if (restResponseResource.getErrorCode() == 200){
175 restResponseResource = LifecycleRestUtils.changeResourceState(resourceDetails, user.getUserId(),
176 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
178 // return restResponseResource;
179 sdncTesterDeatails1 = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
180 if (restResponseResource.getErrorCode() == 200) {
181 restResponseResource = LifecycleRestUtils.changeResourceState(resourceDetails,
182 sdncTesterDeatails1.getUserId(), LifeCycleStatesEnum.STARTCERTIFICATION);
184 return restResponseResource;
185 if (restResponseResource.getErrorCode() == 200) {
186 restResponseResource = LifecycleRestUtils.changeResourceState(resourceDetails,
187 sdncTesterDeatails1.getUserId(), LifeCycleStatesEnum.CERTIFY);
189 return restResponseResource;*/
190 return LifecycleRestUtils.changeResourceState(resourceDetails,
191 sdncTesterDeatails1.getUserId(), LifeCycleStatesEnum.CERTIFY);
194 public static RestResponse certifyService(ServiceReqDetails serviceDetails, User user) throws Exception {
195 RestResponse restResponseService = LifecycleRestUtils.changeServiceState(serviceDetails, user,
196 LifeCycleStatesEnum.CHECKIN);
197 // if (restResponseService.getErrorCode() == 200){
198 restResponseService = LifecycleRestUtils.changeServiceState(serviceDetails, user,
199 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
201 // return restResponseService;
203 sdncTesterDeatails1 = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
204 if (restResponseService.getErrorCode() == 200) {
205 restResponseService = LifecycleRestUtils.changeServiceState(serviceDetails, sdncTesterDeatails1,
206 LifeCycleStatesEnum.STARTCERTIFICATION);
208 return restResponseService;
209 if (restResponseService.getErrorCode() == 200) {
210 restResponseService = LifecycleRestUtils.changeServiceState(serviceDetails, sdncTesterDeatails1,
211 LifeCycleStatesEnum.CERTIFY);
213 return restResponseService;
216 protected static RestResponse raiseResourceToTargetVersion(ResourceReqDetails resourceDetails, String targetVersion,
217 User user) throws Exception {
218 return raiseResourceToTargetVersion(resourceDetails, targetVersion, null, user);
221 protected static RestResponse raiseResourceToTargetVersion(ResourceReqDetails resourceDetails, String targetVersion,
222 RestResponse prevResponse, User user) throws Exception {
224 String[] splitParts = targetVersion.split("\\.");
226 int version = Integer.parseInt(splitParts[1]);
227 String checkinComment = "good checkin";
228 String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}";
230 if (prevResponse != null) {
231 Resource resourceRespJavaObject = ResponseParser
232 .convertResourceResponseToJavaObject(prevResponse.getResponse());
233 if (resourceRespJavaObject.getLifecycleState().equals(LifecycleStateEnum.CERTIFIED)) {
234 RestResponse restResponseResource = LifecycleRestUtils.changeResourceState(resourceDetails,
235 user.getUserId(), LifeCycleStatesEnum.CHECKOUT);
239 RestResponse restResponseResource = null;
240 for (int i = 0; i < (version - 1); i++) {
242 restResponseResource = LifecycleRestUtils.changeResourceState(resourceDetails, user, null,
243 LifeCycleStatesEnum.CHECKIN, checkinComentJson);
244 if (restResponseResource.getErrorCode() == 200) {
245 restResponseResource = LifecycleRestUtils.changeResourceState(resourceDetails, user.getUserId(),
246 LifeCycleStatesEnum.CHECKOUT);
247 if (restResponseResource.getErrorCode() == 200) {
257 restResponseResource = LifecycleRestUtils.changeResourceState(resourceDetails, user, null,
258 LifeCycleStatesEnum.CHECKIN, checkinComentJson);
259 assertEquals("Check response code ", 200, restResponseResource.getErrorCode().intValue());
260 return restResponseResource;