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 static org.testng.AssertJUnit.assertEquals;
24 import static org.testng.AssertJUnit.assertNotNull;
25 import static org.testng.AssertJUnit.assertTrue;
27 import java.io.IOException;
29 import org.junit.Rule;
30 import org.junit.rules.TestName;
31 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
32 import org.openecomp.sdc.be.model.Resource;
33 import org.openecomp.sdc.be.model.User;
34 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
35 import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails;
36 import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails;
37 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
38 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
39 import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
40 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
41 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
42 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
43 import org.openecomp.sdc.ci.tests.execute.lifecycle.LCSbaseTest;
44 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
45 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
46 import org.openecomp.sdc.ci.tests.utils.rest.ComponentInstanceRestUtils;
47 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
48 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
49 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
50 import org.openecomp.sdc.ci.tests.utils.rest.ServiceRestUtils;
51 import org.testng.annotations.BeforeMethod;
53 public class ComplexResourceBaseTest extends ComponentBaseTest {
55 protected ServiceReqDetails serviceDetails;
56 protected ResourceReqDetails resourceDetailsVFC;
57 protected ResourceReqDetails resourceDetailsVL;
58 protected ResourceReqDetails resourceDetailsVF;
59 protected ResourceReqDetails resourceDetailsCP;
60 protected ComponentInstanceReqDetails resourceInstanceReqDetailsVF;
61 protected ComponentInstanceReqDetails resourceInstanceReqDetailsVFC;
62 protected ComponentInstanceReqDetails resourceInstanceReqDetailsVL;
63 protected ComponentInstanceReqDetails resourceInstanceReqDetailsCP;
64 protected User sdncDesignerDetails1;
65 protected User sdncTesterDeatails1;
66 protected User sdncAdminDetails1;
67 protected ArtifactReqDetails heatArtifactDetails;
69 protected ArtifactReqDetails defaultArtifactDetails;
70 protected int maxLength = 50;
71 protected Resource resourceVF = null;
74 public static TestName name = new TestName();
76 public ComplexResourceBaseTest() {
77 super(name, ComplexResourceBaseTest.class.getName());
81 public void before() throws Exception {
89 public void initializeMembers() throws IOException, Exception {
91 serviceDetails = ElementFactory.getDefaultService();
92 resourceDetailsVFC = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VFC, "resourceVFC");
93 resourceDetailsVF = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, "resourceVF3");
94 resourceDetailsVL = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VL, "resourceVL");
95 resourceDetailsCP = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.CP, "resourceCP");
96 sdncDesignerDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
97 sdncTesterDeatails1 = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
98 sdncAdminDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
99 heatArtifactDetails = ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType());
103 protected void createComponents() throws Exception {
105 RestResponse response = ServiceRestUtils.createService(serviceDetails, sdncDesignerDetails1);
106 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
107 assertNotNull("service uniqueId is null:", serviceDetails.getUniqueId());
109 response = ResourceRestUtils.createResource(resourceDetailsVFC, sdncDesignerDetails1);
110 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
111 assertNotNull("resource uniqueId is null:", resourceDetailsVFC.getUniqueId());
112 response = LifecycleRestUtils.changeResourceState(resourceDetailsVFC, sdncDesignerDetails1,
113 resourceDetailsVFC.getVersion(), LifeCycleStatesEnum.CHECKIN);
114 assertTrue("change LS state to CHECKIN, returned status:" + response.getErrorCode(),
115 response.getErrorCode() == 200);
117 response = ResourceRestUtils.createResource(resourceDetailsVF, sdncDesignerDetails1);
118 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
119 assertNotNull("resource uniqueId is null:", resourceDetailsVF.getUniqueId());
121 response = ResourceRestUtils.createResource(resourceDetailsCP, sdncDesignerDetails1);
122 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
123 assertNotNull("resource uniqueId is null:", resourceDetailsCP.getUniqueId());
124 response = LifecycleRestUtils.changeResourceState(resourceDetailsCP, sdncDesignerDetails1,
125 resourceDetailsCP.getVersion(), LifeCycleStatesEnum.CHECKIN);
126 assertTrue("change LS state to CHECKIN, returned status:" + response.getErrorCode(),
127 response.getErrorCode() == 200);
129 response = ResourceRestUtils.createResource(resourceDetailsVL, sdncDesignerDetails1);
130 assertTrue("create request returned status:" + response.getErrorCode(), response.getErrorCode() == 201);
131 assertNotNull("resource uniqueId is null:", resourceDetailsVL.getUniqueId());
132 response = LifecycleRestUtils.changeResourceState(resourceDetailsVL, sdncDesignerDetails1,
133 resourceDetailsVL.getVersion(), LifeCycleStatesEnum.CHECKIN);
134 assertTrue("change LS state to CHECKIN, returned status:" + response.getErrorCode(),
135 response.getErrorCode() == 200);
137 resourceInstanceReqDetailsVFC = ElementFactory.getDefaultComponentInstance("VFC", resourceDetailsVFC);
138 resourceInstanceReqDetailsVF = ElementFactory.getDefaultComponentInstance("VF", resourceDetailsVF);
139 resourceInstanceReqDetailsVL = ElementFactory.getDefaultComponentInstance("VL", resourceDetailsVL);
140 resourceInstanceReqDetailsCP = ElementFactory.getDefaultComponentInstance("CP", resourceDetailsCP);
144 protected void createVFWithCertifiedResourceInstance(ResourceReqDetails resourceDetails,
145 ComponentInstanceReqDetails resourceInstanceReqDetails) throws Exception {
147 RestResponse response = LifecycleRestUtils.changeResourceState(resourceDetails, sdncDesignerDetails1,
148 resourceDetails.getVersion(), LifeCycleStatesEnum.CHECKOUT);
149 assertEquals("Check response code after CHECKOUT", 200, response.getErrorCode().intValue());
151 // add heat artifact to resource and certify
152 ArtifactReqDetails heatArtifactDetails = ElementFactory
153 .getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType());
154 response = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails, sdncDesignerDetails1,
155 resourceDetails.getUniqueId());
156 assertTrue("add HEAT artifact to resource request returned status:" + response.getErrorCode(),
157 response.getErrorCode() == 200);
158 response = LCSbaseTest.certifyResource(resourceDetails, sdncDesignerDetails1);
159 assertEquals("Check response code after CERTIFY request", 200, response.getErrorCode().intValue());
161 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
163 resourceInstanceReqDetails.setComponentUid(resourceDetails.getUniqueId());
164 response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails, sdncDesignerDetails1,
166 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
168 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
171 protected Resource convertResourceGetResponseToJavaObject(ResourceReqDetails resourceDetails) throws IOException {
172 RestResponse response = ResourceRestUtils.getResource(resourceDetails, sdncDesignerDetails1);
173 assertEquals("Check response code after get resource", 200, response.getErrorCode().intValue());
174 return ResponseParser.convertResourceResponseToJavaObject(response.getResponse());