[SDC-29] rebase continue work to align source
[sdc.git] / test-apis-ci / src / main / java / org / openecomp / sdc / ci / tests / preRequisites / ComplexResourceBaseTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.openecomp.sdc.ci.tests.preRequisites;
22
23 import static org.testng.AssertJUnit.assertEquals;
24 import static org.testng.AssertJUnit.assertNotNull;
25 import static org.testng.AssertJUnit.assertTrue;
26
27 import java.io.IOException;
28
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;
52
53 public class ComplexResourceBaseTest extends ComponentBaseTest {
54
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;
68
69         protected ArtifactReqDetails defaultArtifactDetails;
70         protected int maxLength = 50;
71         protected Resource resourceVF = null;
72
73         @Rule
74         public static TestName name = new TestName();
75
76         public ComplexResourceBaseTest() {
77                 super(name, ComplexResourceBaseTest.class.getName());
78         }
79
80         @BeforeMethod
81         public void before() throws Exception {
82
83                 initializeMembers();
84
85                 createComponents();
86
87         }
88
89         public void initializeMembers() throws IOException, Exception {
90
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());
100
101         }
102
103         protected void createComponents() throws Exception {
104
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());
108
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);
116
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());
120
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);
128
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);
136
137                 resourceInstanceReqDetailsVFC = ElementFactory.getDefaultComponentInstance("VFC", resourceDetailsVFC);
138                 resourceInstanceReqDetailsVF = ElementFactory.getDefaultComponentInstance("VF", resourceDetailsVF);
139                 resourceInstanceReqDetailsVL = ElementFactory.getDefaultComponentInstance("VL", resourceDetailsVL);
140                 resourceInstanceReqDetailsCP = ElementFactory.getDefaultComponentInstance("CP", resourceDetailsCP);
141
142         }
143
144         protected void createVFWithCertifiedResourceInstance(ResourceReqDetails resourceDetails,
145                         ComponentInstanceReqDetails resourceInstanceReqDetails) throws Exception {
146
147                 RestResponse response = LifecycleRestUtils.changeResourceState(resourceDetails, sdncDesignerDetails1,
148                                 resourceDetails.getVersion(), LifeCycleStatesEnum.CHECKOUT);
149                 assertEquals("Check response code after CHECKOUT", 200, response.getErrorCode().intValue());
150
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());
160
161                 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
162
163                 resourceInstanceReqDetails.setComponentUid(resourceDetails.getUniqueId());
164                 response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails, sdncDesignerDetails1,
165                                 resourceVF);
166                 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
167
168                 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
169         }
170
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());
175         }
176
177 }