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.preRequisites;
23 import org.junit.Rule;
24 import org.junit.rules.TestName;
25 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
26 import org.openecomp.sdc.be.model.Resource;
27 import org.openecomp.sdc.be.model.User;
28 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
29 import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails;
30 import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails;
31 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
32 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
33 import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
34 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
35 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
36 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
37 import org.openecomp.sdc.ci.tests.execute.lifecycle.LCSbaseTest;
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.*;
46 public class ComplexResourceBaseTest extends ComponentBaseTest {
48 protected ServiceReqDetails serviceDetails;
49 protected ResourceReqDetails resourceDetailsVFC;
50 protected ResourceReqDetails resourceDetailsVL;
51 protected ResourceReqDetails resourceDetailsVF;
52 protected ResourceReqDetails resourceDetailsCP;
53 protected ComponentInstanceReqDetails resourceInstanceReqDetailsVF;
54 protected ComponentInstanceReqDetails resourceInstanceReqDetailsVFC;
55 protected ComponentInstanceReqDetails resourceInstanceReqDetailsVL;
56 protected ComponentInstanceReqDetails resourceInstanceReqDetailsCP;
57 protected User sdncDesignerDetails1;
58 protected User sdncTesterDeatails1;
59 protected User sdncAdminDetails1;
60 protected ArtifactReqDetails heatArtifactDetails;
62 protected ArtifactReqDetails defaultArtifactDetails;
63 protected int maxLength = 50;
64 protected Resource resourceVF = null;
67 public static TestName name = new TestName();
69 public ComplexResourceBaseTest() {
70 super(name, ComplexResourceBaseTest.class.getName());
74 public void before() throws Exception {
82 public void initializeMembers() throws IOException, Exception {
84 serviceDetails = ElementFactory.getDefaultService();
85 resourceDetailsVFC = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VFC, "resourceVFC");
86 resourceDetailsVF = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, "resourceVF3");
87 resourceDetailsVL = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VL, "resourceVL");
88 resourceDetailsCP = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.CP, "resourceCP");
89 sdncDesignerDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
90 sdncTesterDeatails1 = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
91 sdncAdminDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
92 heatArtifactDetails = ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType());
96 protected void createComponents() throws Exception {
98 RestResponse response = ServiceRestUtils.createService(serviceDetails, sdncDesignerDetails1);
99 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
100 assertNotNull("service uniqueId is null:", serviceDetails.getUniqueId());
102 response = ResourceRestUtils.createResource(resourceDetailsVFC, sdncDesignerDetails1);
103 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
104 assertNotNull("resource uniqueId is null:", resourceDetailsVFC.getUniqueId());
105 response = LifecycleRestUtils.changeResourceState(resourceDetailsVFC, sdncDesignerDetails1,
106 resourceDetailsVFC.getVersion(), LifeCycleStatesEnum.CHECKIN);
107 assertTrue("change LS state to CHECKIN, returned status:" + response.getErrorCode(),
108 response.getErrorCode() == 200);
110 response = ResourceRestUtils.createResource(resourceDetailsVF, sdncDesignerDetails1);
111 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
112 assertNotNull("resource uniqueId is null:", resourceDetailsVF.getUniqueId());
114 response = ResourceRestUtils.createResource(resourceDetailsCP, sdncDesignerDetails1);
115 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
116 assertNotNull("resource uniqueId is null:", resourceDetailsCP.getUniqueId());
117 response = LifecycleRestUtils.changeResourceState(resourceDetailsCP, sdncDesignerDetails1,
118 resourceDetailsCP.getVersion(), LifeCycleStatesEnum.CHECKIN);
119 assertTrue("change LS state to CHECKIN, returned status:" + response.getErrorCode(),
120 response.getErrorCode() == 200);
122 response = ResourceRestUtils.createResource(resourceDetailsVL, sdncDesignerDetails1);
123 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
124 assertNotNull("resource uniqueId is null:", resourceDetailsVL.getUniqueId());
125 response = LifecycleRestUtils.changeResourceState(resourceDetailsVL, sdncDesignerDetails1,
126 resourceDetailsVL.getVersion(), LifeCycleStatesEnum.CHECKIN);
127 assertTrue("change LS state to CHECKIN, returned status:" + response.getErrorCode(),
128 response.getErrorCode() == 200);
130 resourceInstanceReqDetailsVFC = ElementFactory.getDefaultComponentInstance("VFC", resourceDetailsVFC);
131 resourceInstanceReqDetailsVF = ElementFactory.getDefaultComponentInstance("VF", resourceDetailsVF);
132 resourceInstanceReqDetailsVL = ElementFactory.getDefaultComponentInstance("VL", resourceDetailsVL);
133 resourceInstanceReqDetailsCP = ElementFactory.getDefaultComponentInstance("CP", resourceDetailsCP);
137 protected void createVFWithCertifiedResourceInstance(ResourceReqDetails resourceDetails,
138 ComponentInstanceReqDetails resourceInstanceReqDetails) throws Exception {
140 RestResponse response = LifecycleRestUtils.changeResourceState(resourceDetails, sdncDesignerDetails1,
141 resourceDetails.getVersion(), LifeCycleStatesEnum.CHECKOUT);
142 assertEquals("Check response code after CHECKOUT", 200, response.getErrorCode().intValue());
144 // add heat artifact to resource and certify
145 ArtifactReqDetails heatArtifactDetails = ElementFactory
146 .getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType());
147 response = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails, sdncDesignerDetails1,
148 resourceDetails.getUniqueId());
149 assertTrue("add HEAT artifact to resource request returned status:" + response.getErrorCode(),
150 response.getErrorCode() == 200);
151 response = LCSbaseTest.certifyResource(resourceDetails, sdncDesignerDetails1);
152 assertEquals("Check response code after CERTIFY request", 200, response.getErrorCode().intValue());
154 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
156 resourceInstanceReqDetails.setComponentUid(resourceDetails.getUniqueId());
157 response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails, sdncDesignerDetails1,
159 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
161 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
164 protected Resource convertResourceGetResponseToJavaObject(ResourceReqDetails resourceDetails) throws IOException {
165 RestResponse response = ResourceRestUtils.getResource(resourceDetails, sdncDesignerDetails1);
166 assertEquals("Check response code after get resource", 200, response.getErrorCode().intValue());
167 return ResponseParser.convertResourceResponseToJavaObject(response.getResponse());