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();
70 public void before() throws Exception {
78 public void initializeMembers() throws IOException, Exception {
80 serviceDetails = ElementFactory.getDefaultService();
81 resourceDetailsVFC = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VFC, "resourceVFC");
82 resourceDetailsVF = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, "resourceVF3");
83 resourceDetailsVL = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VL, "resourceVL");
84 resourceDetailsCP = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.CP, "resourceCP");
85 sdncDesignerDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
86 sdncTesterDeatails1 = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
87 sdncAdminDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
88 heatArtifactDetails = ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType());
92 protected void createComponents() throws Exception {
94 RestResponse response = ServiceRestUtils.createService(serviceDetails, sdncDesignerDetails1);
95 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
96 assertNotNull("service uniqueId is null:", serviceDetails.getUniqueId());
98 response = ResourceRestUtils.createResource(resourceDetailsVFC, sdncDesignerDetails1);
99 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
100 assertNotNull("resource uniqueId is null:", resourceDetailsVFC.getUniqueId());
101 response = LifecycleRestUtils.changeResourceState(resourceDetailsVFC, sdncDesignerDetails1,
102 resourceDetailsVFC.getVersion(), LifeCycleStatesEnum.CHECKIN);
103 assertTrue("change LS state to CHECKIN, returned status:" + response.getErrorCode(),
104 response.getErrorCode() == 200);
106 response = ResourceRestUtils.createResource(resourceDetailsVF, sdncDesignerDetails1);
107 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
108 assertNotNull("resource uniqueId is null:", resourceDetailsVF.getUniqueId());
110 response = ResourceRestUtils.createResource(resourceDetailsCP, sdncDesignerDetails1);
111 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
112 assertNotNull("resource uniqueId is null:", resourceDetailsCP.getUniqueId());
113 response = LifecycleRestUtils.changeResourceState(resourceDetailsCP, sdncDesignerDetails1,
114 resourceDetailsCP.getVersion(), LifeCycleStatesEnum.CHECKIN);
115 assertTrue("change LS state to CHECKIN, returned status:" + response.getErrorCode(),
116 response.getErrorCode() == 200);
118 response = ResourceRestUtils.createResource(resourceDetailsVL, sdncDesignerDetails1);
119 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
120 assertNotNull("resource uniqueId is null:", resourceDetailsVL.getUniqueId());
121 response = LifecycleRestUtils.changeResourceState(resourceDetailsVL, sdncDesignerDetails1,
122 resourceDetailsVL.getVersion(), LifeCycleStatesEnum.CHECKIN);
123 assertTrue("change LS state to CHECKIN, returned status:" + response.getErrorCode(),
124 response.getErrorCode() == 200);
126 resourceInstanceReqDetailsVFC = ElementFactory.getDefaultComponentInstance("VFC", resourceDetailsVFC);
127 resourceInstanceReqDetailsVF = ElementFactory.getDefaultComponentInstance("VF", resourceDetailsVF);
128 resourceInstanceReqDetailsVL = ElementFactory.getDefaultComponentInstance("VL", resourceDetailsVL);
129 resourceInstanceReqDetailsCP = ElementFactory.getDefaultComponentInstance("CP", resourceDetailsCP);
133 protected void createVFWithCertifiedResourceInstance(ResourceReqDetails resourceDetails,
134 ComponentInstanceReqDetails resourceInstanceReqDetails) throws Exception {
136 RestResponse response = LifecycleRestUtils.changeResourceState(resourceDetails, sdncDesignerDetails1,
137 resourceDetails.getVersion(), LifeCycleStatesEnum.CHECKOUT);
138 assertEquals("Check response code after CHECKOUT", 200, response.getErrorCode().intValue());
140 // add heat artifact to resource and certify
141 ArtifactReqDetails heatArtifactDetails = ElementFactory
142 .getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType());
143 response = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails, sdncDesignerDetails1,
144 resourceDetails.getUniqueId());
145 assertTrue("add HEAT artifact to resource request returned status:" + response.getErrorCode(),
146 response.getErrorCode() == 200);
147 response = LCSbaseTest.certifyResource(resourceDetails, sdncDesignerDetails1);
148 assertEquals("Check response code after CERTIFY request", 200, response.getErrorCode().intValue());
150 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
152 resourceInstanceReqDetails.setComponentUid(resourceDetails.getUniqueId());
153 response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails, sdncDesignerDetails1,
155 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
157 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
160 protected Resource convertResourceGetResponseToJavaObject(ResourceReqDetails resourceDetails) throws IOException {
161 RestResponse response = ResourceRestUtils.getResource(resourceDetails, sdncDesignerDetails1);
162 assertEquals("Check response code after get resource", 200, response.getErrorCode().intValue());
163 return ResponseParser.convertResourceResponseToJavaObject(response.getResponse());