[SDC-29] rebase continue work to align source
[sdc.git] / test-apis-ci / src / main / java / org / openecomp / sdc / ci / tests / execute / service / GetAllServiceVersions.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.execute.service;
22
23 import static org.testng.AssertJUnit.assertEquals;
24 import static org.testng.AssertJUnit.assertTrue;
25
26 import java.util.Arrays;
27 import java.util.HashMap;
28 import java.util.List;
29 import java.util.Map;
30
31 import org.apache.cassandra.transport.Event.SchemaChange.Target;
32 import org.junit.Rule;
33 import org.junit.rules.TestName;
34 import org.openecomp.sdc.be.dao.api.ActionStatus;
35 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
36 import org.openecomp.sdc.be.model.Component;
37 import org.openecomp.sdc.be.model.Service;
38 import org.openecomp.sdc.be.model.User;
39 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
40 import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails;
41 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
42 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
43 import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
44 import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo;
45 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
46 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
47 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
48 import org.openecomp.sdc.ci.tests.execute.lifecycle.LCSbaseTest;
49 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
50 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
51 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
52 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
53 import org.openecomp.sdc.ci.tests.utils.rest.ServiceRestUtils;
54 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
55 import org.testng.annotations.BeforeMethod;
56 import org.testng.annotations.Test;
57
58 public class GetAllServiceVersions extends ComponentBaseTest {
59         protected ResourceReqDetails resourceDetails;
60         protected ServiceReqDetails serviceDetails;
61         protected User sdncDesignerDetails;
62         protected User sdncDesignerDetails2;
63         protected User sdncAdminDetails;
64         protected User sdncGovernorDeatails;
65         protected User sdncTesterDetails;
66         protected User sdncOpsDetails;
67         protected ComponentInstanceReqDetails resourceInstanceReqDetails;
68         protected Component resourceDetailsVFCcomp;
69         protected Service serviceServ;
70
71         @Rule
72         public static TestName name = new TestName();
73
74         public GetAllServiceVersions() {
75                 super(name, GetAllServiceVersions.class.getName());
76                 ;
77         }
78
79         @BeforeMethod
80         public void setUp() throws Exception {
81
82                 sdncDesignerDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
83                 sdncDesignerDetails2 = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2);
84                 sdncAdminDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
85                 sdncGovernorDeatails = ElementFactory.getDefaultUser(UserRoleEnum.GOVERNOR);
86                 sdncTesterDetails = ElementFactory.getDefaultUser(UserRoleEnum.TESTER);
87                 sdncOpsDetails = ElementFactory.getDefaultUser(UserRoleEnum.OPS);
88                 resourceDetailsVFCcomp = AtomicOperationUtils
89                                 .createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true).left().value();
90                 AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceDetailsVFCcomp, UserRoleEnum.DESIGNER,
91                                 true, true);
92
93                 AtomicOperationUtils.changeComponentState(resourceDetailsVFCcomp, UserRoleEnum.DESIGNER,
94                                 LifeCycleStatesEnum.CERTIFY, true);
95                 serviceServ = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value();
96                 AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceDetailsVFCcomp, serviceServ,
97                                 UserRoleEnum.DESIGNER, true);
98
99                 serviceDetails = new ServiceReqDetails(serviceServ);
100
101         }
102
103         @Test
104         public void GetAllServiceVersions_Version05() throws Exception {
105
106                 Map<String, String> origVersionsMap = new HashMap<String, String>();
107                 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
108                 for (int x = 0; x < 4; x++) {
109                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
110                                         LifeCycleStatesEnum.CHECKIN);
111                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
112                                         LifeCycleStatesEnum.CHECKOUT);
113                         origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
114
115                 }
116                 // validate get response
117                 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncDesignerDetails);
118                 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
119                 Map<String, String> getVersionsMap = res.getAllVersions();
120                 assertTrue(origVersionsMap.equals(getVersionsMap));
121
122         }
123
124         @Test
125         public void GetAllServiceVersions_Version01() throws Exception {
126
127                 Map<String, String> origVersionsMap = new HashMap<String, String>();
128                 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
129
130                 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncDesignerDetails);
131                 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
132                 Map<String, String> getVersionsMap = res.getAllVersions();
133                 assertTrue(origVersionsMap.equals(getVersionsMap));
134         }
135
136         @Test
137         public void GetAllServiceVersions_Version15() throws Exception {
138                 // addMandatoryArtifactsToService();
139                 Map<String, String> origVersionsMap = new HashMap<String, String>();
140                 for (int x = 0; x < 4; x++) {
141                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
142                                         LifeCycleStatesEnum.CHECKIN);
143                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
144                                         LifeCycleStatesEnum.CHECKOUT);
145                 }
146
147                 RestResponse changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
148                 // serviceServ.setUniqueId(serviceDetails.getUniqueId());
149                 // RestResponse changeServiceState =
150                 // AtomicOperationUtils.changeComponentState(serviceServ,
151                 // UserRoleEnum.ADMIN, LifeCycleStatesEnum.CERTIFY, false).getRight();
152
153                 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
154                                 changeServiceState.getErrorCode() == 200);
155                 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
156
157                 for (int x = 0; x < 5; x++) {
158                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
159                                         LifeCycleStatesEnum.CHECKOUT);
160                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
161                                         LifeCycleStatesEnum.CHECKIN);
162                         origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
163
164                 }
165
166                 // validate get response
167                 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
168                 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
169                 Map<String, String> getVersionsMap = res.getAllVersions();
170                 assertTrue(origVersionsMap.equals(getVersionsMap));
171         }
172
173         @Test
174         public void GetAllServiceVersions_Version25() throws Exception {
175                 // addMandatoryArtifactsToService();
176                 Map<String, String> origVersionsMap = new HashMap<String, String>();
177                 for (int x = 0; x < 4; x++) {
178                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
179                                         LifeCycleStatesEnum.CHECKIN);
180                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
181                                         LifeCycleStatesEnum.CHECKOUT);
182                 }
183
184                 // getting to version 1.0
185                 RestResponse changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
186                 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
187                                 changeServiceState.getErrorCode() == 200);
188                 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
189
190                 // getting to version 1.5
191                 for (int x = 0; x < 5; x++) {
192                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
193                                         LifeCycleStatesEnum.CHECKIN);
194                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
195                                         LifeCycleStatesEnum.CHECKOUT);
196                 }
197
198                 // getting to version 2.0
199                 changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
200                 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
201                                 changeServiceState.getErrorCode() == 200);
202                 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
203
204                 // getting to version 2.5
205                 for (int x = 0; x < 5; x++) {
206                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
207                                         LifeCycleStatesEnum.CHECKIN);
208                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
209                                         LifeCycleStatesEnum.CHECKOUT);
210                         origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
211                 }
212
213                 // validate get response
214                 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
215                 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
216                 Map<String, String> getVersionsMap = res.getAllVersions();
217                 assertTrue(origVersionsMap.equals(getVersionsMap));
218         }
219
220         @Test
221         public void GetAllServiceVersions_ReadyForCertification_version05() throws Exception {
222                 // addMandatoryArtifactsToService();
223                 Map<String, String> origVersionsMap = new HashMap<String, String>();
224                 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
225                 for (int x = 0; x < 4; x++) {
226                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
227                                         LifeCycleStatesEnum.CHECKIN);
228                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
229                                         LifeCycleStatesEnum.CHECKOUT);
230                         origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
231                 }
232
233                 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
234                                 LifeCycleStatesEnum.CHECKIN);
235                 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
236                                 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
237
238                 // validate get response
239                 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
240                 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
241                 Map<String, String> getVersionsMap = res.getAllVersions();
242                 assertTrue(origVersionsMap.equals(getVersionsMap));
243         }
244
245         @Test
246         public void GetAllServiceVersions_CertifactionInProgress_version05() throws Exception {
247                 // addMandatoryArtifactsToService();
248                 Map<String, String> origVersionsMap = new HashMap<String, String>();
249                 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
250                 for (int x = 0; x < 4; x++) {
251                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
252                                         LifeCycleStatesEnum.CHECKIN);
253                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
254                                         LifeCycleStatesEnum.CHECKOUT);
255                         origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
256                 }
257
258                 LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
259                                 LifeCycleStatesEnum.CHECKIN);
260                 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
261                                 LifeCycleStatesEnum.CERTIFICATIONREQUEST);
262                 LifecycleRestUtils.changeServiceState(serviceDetails, sdncAdminDetails, serviceDetails.getVersion(),
263                                 LifeCycleStatesEnum.STARTCERTIFICATION);
264
265                 // validate get response
266                 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
267                 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
268                 Map<String, String> getVersionsMap = res.getAllVersions();
269                 assertTrue(origVersionsMap.equals(getVersionsMap));
270         }
271
272         @Test
273         public void GetAllServiceVersions_Certified_version10() throws Exception {
274                 // addMandatoryArtifactsToService();
275                 Map<String, String> origVersionsMap = new HashMap<String, String>();
276                 // get to version 0.5
277                 for (int x = 0; x < 4; x++) {
278                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
279                                         LifeCycleStatesEnum.CHECKIN);
280                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
281                                         LifeCycleStatesEnum.CHECKOUT);
282
283                 }
284
285                 // get version 1.0
286                 RestResponse changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
287                 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
288                                 changeServiceState.getErrorCode() == 200);
289                 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
290
291                 // validate get response
292                 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
293                 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
294                 Map<String, String> getVersionsMap = res.getAllVersions();
295                 assertTrue(origVersionsMap.equals(getVersionsMap));
296         }
297
298         @Test
299         public void GetAllServiceVersions_Certified_version20() throws Exception {
300                 // addMandatoryArtifactsToService();
301                 Map<String, String> origVersionsMap = new HashMap<String, String>();
302                 // get to version 0.5
303                 for (int x = 0; x < 4; x++) {
304                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
305                                         LifeCycleStatesEnum.CHECKIN);
306                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
307                                         LifeCycleStatesEnum.CHECKOUT);
308                 }
309
310                 // get version 1.0
311                 RestResponse changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
312                 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
313                                 changeServiceState.getErrorCode() == 200);
314                 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
315
316                 // get version 1.5
317                 for (int x = 0; x < 4; x++) {
318                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
319                                         LifeCycleStatesEnum.CHECKIN);
320                         LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(),
321                                         LifeCycleStatesEnum.CHECKOUT);
322                 }
323
324                 // get version 2.0
325                 changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails);
326                 assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(),
327                                 changeServiceState.getErrorCode() == 200);
328                 origVersionsMap.put(serviceDetails.getVersion(), serviceDetails.getUniqueId());
329
330                 // validate get response
331                 RestResponse serviceGetResponse = ServiceRestUtils.getService(serviceDetails, sdncAdminDetails);
332                 Service res = ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse());
333                 Map<String, String> getVersionsMap = res.getAllVersions();
334                 assertTrue(origVersionsMap.equals(getVersionsMap));
335         }
336
337         @Test
338         public void GetAllServiceVersions_ServiceNotFound() throws Exception {
339
340                 RestResponse serviceGetResponse = ServiceRestUtils.getService("123456789", sdncAdminDetails);
341                 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.SERVICE_NOT_FOUND.name());
342                 assertEquals("Check response code after get service without cache", errorInfo.getCode(),
343                                 serviceGetResponse.getErrorCode());
344
345                 List<String> variables = Arrays.asList("123456789");
346                 ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.SERVICE_NOT_FOUND.name(), variables,
347                                 serviceGetResponse.getResponse());
348
349         }
350
351 }