7ad9024cdf661dd39240c8f61d1c54e545324ee5
[sdc.git] /
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 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;
41
42 import java.io.IOException;
43
44 import static org.testng.AssertJUnit.*;
45
46 public class ComplexResourceBaseTest extends ComponentBaseTest {
47
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;
61
62         protected ArtifactReqDetails defaultArtifactDetails;
63         protected int maxLength = 50;
64         protected Resource resourceVF = null;
65
66         @Rule
67         public static TestName name = new TestName();
68
69         @BeforeMethod
70         public void before() throws Exception {
71
72                 initializeMembers();
73
74                 createComponents();
75
76         }
77
78         public void initializeMembers() throws IOException, Exception {
79
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());
89
90         }
91
92         protected void createComponents() throws Exception {
93
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());
97
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);
105
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());
109
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);
117
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);
125
126                 resourceInstanceReqDetailsVFC = ElementFactory.getDefaultComponentInstance("VFC", resourceDetailsVFC);
127                 resourceInstanceReqDetailsVF = ElementFactory.getDefaultComponentInstance("VF", resourceDetailsVF);
128                 resourceInstanceReqDetailsVL = ElementFactory.getDefaultComponentInstance("VL", resourceDetailsVL);
129                 resourceInstanceReqDetailsCP = ElementFactory.getDefaultComponentInstance("CP", resourceDetailsCP);
130
131         }
132
133         protected void createVFWithCertifiedResourceInstance(ResourceReqDetails resourceDetails,
134                         ComponentInstanceReqDetails resourceInstanceReqDetails) throws Exception {
135
136                 RestResponse response = LifecycleRestUtils.changeResourceState(resourceDetails, sdncDesignerDetails1,
137                                 resourceDetails.getVersion(), LifeCycleStatesEnum.CHECKOUT);
138                 assertEquals("Check response code after CHECKOUT", 200, response.getErrorCode().intValue());
139
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());
149
150                 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
151
152                 resourceInstanceReqDetails.setComponentUid(resourceDetails.getUniqueId());
153                 response = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails, sdncDesignerDetails1,
154                                 resourceVF);
155                 assertEquals("Check response code after create RI", 201, response.getErrorCode().intValue());
156
157                 resourceVF = convertResourceGetResponseToJavaObject(resourceDetailsVF);
158         }
159
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());
164         }
165
166 }