Fix for radio buttons
[sdc.git] / asdc-tests / src / main / java / org / openecomp / sdc / ci / tests / utils / general / Convertor.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.utils.general;
22
23 import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.STATUS_CODE_CREATED;
24 import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.STATUS_CODE_SUCCESS;
25
26 import java.io.FileNotFoundException;
27 import java.util.ArrayList;
28 import java.util.List;
29
30 import org.apache.commons.lang3.StringUtils;
31 import org.openecomp.sdc.be.dao.api.ActionStatus;
32 import org.openecomp.sdc.be.model.LifecycleStateEnum;
33 import org.openecomp.sdc.be.model.Product;
34 import org.openecomp.sdc.be.model.User;
35 import org.openecomp.sdc.be.model.category.CategoryDefinition;
36 import org.openecomp.sdc.ci.tests.datatypes.ComponentReqDetails;
37 import org.openecomp.sdc.ci.tests.datatypes.ProductReqDetails;
38 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
39 import org.openecomp.sdc.ci.tests.datatypes.ResourceRespJavaObject;
40 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
41 import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo;
42 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
43 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedProductAudit;
44 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject;
45 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedUserCRUDAudit;
46 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
47 import org.openecomp.sdc.common.api.Constants;
48
49 public class Convertor {
50         // ***** resource *****
51         public static ResourceRespJavaObject constructFieldsForRespValidation(ResourceReqDetails resourceDetails,
52                         String resourceVersion) {
53                 return convertToRespObject(resourceDetails, resourceVersion, UserRoleEnum.ADMIN.getUserId(),
54                                 UserRoleEnum.ADMIN.getUserName());
55
56         }
57
58         public static ResourceRespJavaObject constructFieldsForRespValidation(ResourceReqDetails resourceDetails) {
59                 return convertToRespObject(resourceDetails, resourceDetails.getVersion(), UserRoleEnum.ADMIN.getUserId(),
60                                 UserRoleEnum.ADMIN.getUserName());
61
62         }
63
64         public static ResourceRespJavaObject constructFieldsForRespValidation(ResourceReqDetails resourceDetails,
65                         String resourceVersion, User user) {
66                 return convertToRespObject(resourceDetails, resourceVersion, user.getUserId(), user.getFullName());
67
68         }
69
70         private static ResourceRespJavaObject convertToRespObject(ResourceReqDetails resourceDetails,
71                         String resourceVersion, String userId, String userName) {
72                 ResourceRespJavaObject resourceRespJavaObject = new ResourceRespJavaObject();
73
74                 resourceRespJavaObject.setUniqueId(resourceDetails.getUniqueId());
75                 resourceRespJavaObject.setName(resourceDetails.getName());
76                 resourceRespJavaObject.setCreatorUserId(resourceDetails.getCreatorUserId());
77                 resourceRespJavaObject.setCreatorFullName(resourceDetails.getCreatorFullName());
78                 resourceRespJavaObject.setLastUpdaterUserId(userId);
79                 resourceRespJavaObject.setLastUpdaterFullName(userName);
80                 resourceRespJavaObject.setDescription(resourceDetails.getDescription());
81                 resourceRespJavaObject.setIcon(resourceDetails.getIcon());
82                 resourceRespJavaObject.setTags(resourceDetails.getTags());
83                 resourceRespJavaObject.setIsHighestVersion("true");
84                 resourceRespJavaObject.setCategories(resourceDetails.getCategories());
85                 resourceRespJavaObject.setLifecycleState(
86                                 resourceDetails.getLifecycleState() != null ? resourceDetails.getLifecycleState().toString()
87                                                 : LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.toString());
88                 // resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
89                 resourceRespJavaObject.setDerivedFrom(resourceDetails.getDerivedFrom());
90                 resourceRespJavaObject.setVendorName(resourceDetails.getVendorName());
91                 resourceRespJavaObject.setVendorRelease(resourceDetails.getVendorRelease());
92                 resourceRespJavaObject.setContactId(resourceDetails.getContactId());
93                 resourceRespJavaObject.setAbstractt("false");
94                 resourceRespJavaObject.setVersion(resourceVersion);
95                 resourceRespJavaObject.setCost(resourceDetails.getCost());
96                 resourceRespJavaObject.setLicenseType(resourceDetails.getLicenseType());
97                 resourceRespJavaObject.setResourceType(resourceDetails.getResourceType());
98
99                 return resourceRespJavaObject;
100
101         }
102
103         // ********** service **************
104
105         // public static ServiceRespJavaObject
106         // constructFieldsForRespValidation(ServiceReqDetails serviceDetails, String
107         // serviceVersion, User user) {
108         // return convertToRespObject(serviceDetails, serviceVersion,
109         // user.getUserId(), user.getFullName());
110         //
111         // }
112         //
113         // private static ServiceRespJavaObject
114         // convertToRespObject(ServiceReqDetails serviceDetails, String
115         // serviceVersion, String UserId, String userName) {
116         // ServiceRespJavaObject serviceRespJavaObject = new
117         // ServiceRespJavaObject();
118         //
119         // serviceRespJavaObject.setUniqueId(serviceDetails.getUniqueId());
120         // serviceRespJavaObject.setName(serviceDetails.getName());
121         // serviceRespJavaObject.setCreatorUserId(UserId);
122         // serviceRespJavaObject.setCreatorFullName(userName);
123         // serviceRespJavaObject.setLastUpdaterUserId(UserId);
124         // serviceRespJavaObject.setLastUpdaterFullName(userName);
125         // serviceRespJavaObject.setDescription(serviceDetails.getDescription());
126         // serviceRespJavaObject.setIcon(serviceDetails.getIcon());
127         // serviceRespJavaObject.setCategory(serviceDetails.getCategory());
128         // serviceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
129         // serviceRespJavaObject.setContactId(serviceDetails.getContactId());
130         // serviceRespJavaObject.setVersion(serviceVersion);
131         //
132         // return serviceRespJavaObject;
133         // }
134
135         // ********** product **************
136
137         public static Product constructFieldsForRespValidation(ProductReqDetails productDetails, String productVersion,
138                         User user) {
139                 return convertToRespObject(productDetails, productVersion, user.getUserId(), user.getFullName());
140         }
141
142         private static Product convertToRespObject(ProductReqDetails productDetails, String productVersion, String userId,
143                         String userName) {
144                 Product expectedProduct = new Product();
145
146                 expectedProduct.setUniqueId(productDetails.getUniqueId());
147                 expectedProduct.setName(productDetails.getName());
148                 expectedProduct.setFullName(productDetails.getFullName());
149                 expectedProduct.setCreatorUserId(productDetails.getCreatorUserId());
150                 expectedProduct.setCreatorFullName(productDetails.getCreatorFullName());
151                 expectedProduct.setLastUpdaterUserId(userId);
152                 expectedProduct.setLastUpdaterFullName(userName);
153                 expectedProduct.setDescription(productDetails.getDescription());
154                 // expectedProduct.setIcon(resourceDetails.getIcon());
155                 expectedProduct.setTags(productDetails.getTags());
156                 expectedProduct.setHighestVersion(true);
157                 List<CategoryDefinition> categories = productDetails.getCategories();
158                 if (categories == null) {
159                         categories = new ArrayList<>();
160                 }
161                 expectedProduct.setCategories(categories);
162                 expectedProduct.setState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
163                 expectedProduct.setVersion(productVersion);
164                 expectedProduct.setContacts(productDetails.getContacts());
165                 return expectedProduct;
166         }
167
168         // ***** audit *****
169
170         public static ExpectedResourceAuditJavaObject constructFieldsForAuditValidation(ResourceReqDetails resourceDetails,
171                         String resourceVersion) {
172                 return convertToAuditObject(resourceDetails, resourceVersion, UserRoleEnum.ADMIN.getUserId(),
173                                 UserRoleEnum.ADMIN.getUserName());
174         }
175
176         public static ExpectedResourceAuditJavaObject constructFieldsForAuditValidation(
177                         ResourceReqDetails resourceDetails) {
178                 return convertToAuditObject(resourceDetails, resourceDetails.getVersion(), UserRoleEnum.ADMIN.getUserId(),
179                                 UserRoleEnum.ADMIN.getUserName());
180         }
181
182         public static ExpectedResourceAuditJavaObject constructFieldsForAuditValidation(ResourceReqDetails resourceDetails,
183                         String resourceVersion, User user) {
184                 return convertToAuditObject(resourceDetails, resourceVersion, user.getUserId(), user.getFullName());
185         }
186
187         private static ExpectedResourceAuditJavaObject convertToAuditObject(ResourceReqDetails resourceDetails,
188                         String resourceVersion, String userId, String userName) {
189                 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
190
191                 expectedResourceAuditJavaObject.setAction("Checkout");
192                 expectedResourceAuditJavaObject.setModifierName(userName);
193                 expectedResourceAuditJavaObject.setModifierUid(userId);
194                 expectedResourceAuditJavaObject.setStatus("200.0");
195                 expectedResourceAuditJavaObject.setDesc("OK");
196                 expectedResourceAuditJavaObject.setResourceName(resourceDetails.getName());
197                 expectedResourceAuditJavaObject.setResourceType("Resource");
198                 expectedResourceAuditJavaObject.setPrevVersion(String.valueOf(Float.parseFloat(resourceVersion) - 0.1f));
199                 expectedResourceAuditJavaObject.setCurrVersion(resourceVersion);
200                 expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
201                 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
202                 expectedResourceAuditJavaObject.setComment(null);
203
204                 return expectedResourceAuditJavaObject;
205         }
206
207         public static ExpectedProductAudit constructFieldsForAuditValidation(Product productDetails, String action,
208                         User user, ActionStatus actionStatus, String prevVersion, String currVersion, LifecycleStateEnum prevState,
209                         LifecycleStateEnum currState, String uuid, String... errorMessageParams) throws FileNotFoundException {
210                 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(actionStatus.name());
211                 return convertToAuditObject(productDetails, action, user, errorInfo, prevVersion, currVersion, prevState,
212                                 currState, uuid, errorMessageParams);
213         }
214
215         private static ExpectedProductAudit convertToAuditObject(Product productDetails, String action, User user,
216                         ErrorInfo errorInfo, String prevVersion, String currVersion, LifecycleStateEnum prevState,
217                         LifecycleStateEnum currState, String uuid, String... errorMessageParams) {
218                 ExpectedProductAudit expectedProductAudit = new ExpectedProductAudit();
219
220                 expectedProductAudit.setACTION(action);
221                 String userUserId = user.getUserId();
222                 String userFullName;
223                 if (StringUtils.isEmpty(user.getFirstName()) && StringUtils.isEmpty(user.getLastName())) {
224                         userFullName = "";
225                 } else {
226                         userFullName = user.getFullName();
227                 }
228                 if (StringUtils.isEmpty(userUserId)) {
229                         userUserId = "UNKNOWN";
230                 }
231                 expectedProductAudit.setMODIFIER(
232                                 !StringUtils.isEmpty(userFullName) ? userFullName + "(" + userUserId + ")" : "(" + userUserId + ")");
233                 expectedProductAudit.setSTATUS(Integer.toString(errorInfo.getCode()));
234                 expectedProductAudit.setDESC(errorInfo.getAuditDesc((Object[]) (errorMessageParams)));
235                 expectedProductAudit
236                                 .setRESOURCE_NAME(productDetails != null ? productDetails.getName() : Constants.EMPTY_STRING);
237                 expectedProductAudit.setRESOURCE_TYPE("Product");
238                 expectedProductAudit.setPREV_VERSION(prevVersion);
239                 expectedProductAudit.setCURR_VERSION(currVersion);
240                 expectedProductAudit.setPREV_STATE(prevState != null ? prevState.name() : Constants.EMPTY_STRING);
241                 expectedProductAudit.setCURR_STATE(currState != null ? currState.name() : Constants.EMPTY_STRING);
242                 expectedProductAudit.setSERVICE_INSTANCE_ID(uuid);
243                 return expectedProductAudit;
244         }
245
246         ////////////////
247         // Convertor.constructFieldsForAuditValidationSuccess(addUser,
248         //////////////// sdncAdminUser, mechIdUser, null, STATUS_CODE_CREATED);
249         public static ExpectedUserCRUDAudit constructFieldsForAuditValidation(String action, User userModifier,
250                         ActionStatus actionStatus, User userAfter, User userBefore, Object... variables) throws Exception {
251                 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(actionStatus.name());
252                 ExpectedUserCRUDAudit expectedAddUserAuditJavaObject = new ExpectedUserCRUDAudit();
253                 expectedAddUserAuditJavaObject.setAction(action);
254                 expectedAddUserAuditJavaObject.setModifier(
255                                 userModifier.getFirstName() != null ? userModifier.getFullName() + "(" + userModifier.getUserId() + ")"
256                                                 : "(" + userModifier.getUserId() + ")");
257                 String status = Integer.toString(errorInfo.getCode());
258                 expectedAddUserAuditJavaObject.setStatus(status);
259                 if (errorInfo.getCode() == STATUS_CODE_SUCCESS || errorInfo.getCode() == STATUS_CODE_CREATED) {
260                         expectedAddUserAuditJavaObject.setDesc("OK");
261                 } else {
262                         expectedAddUserAuditJavaObject.setDesc(errorInfo.getAuditDesc(variables));
263                 }
264                 expectedAddUserAuditJavaObject.setUserBefore(userBefore != null
265                                 ? userBefore.getUserId() + ", " + userBefore.getFirstName() + " " + userBefore.getLastName() + ", "
266                                                 + userBefore.getEmail() + ", " + userBefore.getRole()
267                                 : Constants.EMPTY_STRING);
268                 expectedAddUserAuditJavaObject.setUserAfter(userAfter != null
269                                 ? userAfter.getUserId() + ", " + userAfter.getFirstName() + " " + userAfter.getLastName() + ", "
270                                                 + userAfter.getEmail() + ", " + userAfter.getRole()
271                                 : Constants.EMPTY_STRING);
272                 return expectedAddUserAuditJavaObject;
273         }
274
275         // For RESOURCE and SERVICE same Audit
276         public static ExpectedResourceAuditJavaObject constructFieldsForAuditValidation(
277                         ComponentReqDetails componentDetails, String action, User userModifier, ActionStatus actionStatus,
278                         String currVersion, String prevVersion, String curState, String prevState, String uuid, String comment,
279                         Object... variables) throws Exception {
280                 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(actionStatus.name());
281                 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
282                 expectedResourceAuditJavaObject.setAction(action);
283                 expectedResourceAuditJavaObject.setMODIFIER(
284                                 userModifier.getFirstName() != null ? userModifier.getFullName() + "(" + userModifier.getUserId() + ")"
285                                                 : "(" + userModifier.getUserId() + ")");
286                 String status = Integer.toString(errorInfo.getCode());
287                 expectedResourceAuditJavaObject.setStatus(status);
288                 if (errorInfo.getCode() == STATUS_CODE_SUCCESS || errorInfo.getCode() == STATUS_CODE_CREATED) {
289                         expectedResourceAuditJavaObject.setDesc("OK");
290                 } else {
291                         expectedResourceAuditJavaObject.setDesc(errorInfo.getAuditDesc(variables));
292                 }
293                 expectedResourceAuditJavaObject.setCurrState(curState);
294                 expectedResourceAuditJavaObject.setPrevState(prevState);
295                 expectedResourceAuditJavaObject.setCurrVersion(currVersion);
296                 expectedResourceAuditJavaObject.setPrevVersion(prevVersion);
297                 expectedResourceAuditJavaObject.setComment(comment);
298                 expectedResourceAuditJavaObject.setSERVICE_INSTANCE_ID(uuid);
299                 if (componentDetails instanceof ServiceReqDetails) {
300                         expectedResourceAuditJavaObject.setResourceName(((ServiceReqDetails) componentDetails).getName());
301                         expectedResourceAuditJavaObject.setResourceType("Service");
302                 }
303                 if (componentDetails instanceof ResourceReqDetails) {
304                         expectedResourceAuditJavaObject.setResourceName(((ResourceReqDetails) componentDetails).getName());
305                         expectedResourceAuditJavaObject.setResourceType("Resource");
306                 }
307                 return expectedResourceAuditJavaObject;
308         }
309
310         // Distribution Service Audit
311         public static ExpectedResourceAuditJavaObject constructFieldsForDistributionAuditValidation(
312                         ComponentReqDetails componentDetails, String action, User userModifier, ActionStatus actionStatus,
313                         String currVersion, String distCurrStatus, String distProvStatus, String curState, String uuid,
314                         String comment, Object... variables) throws Exception {
315                 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(actionStatus.name());
316                 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
317                 expectedResourceAuditJavaObject.setAction(action);
318                 expectedResourceAuditJavaObject.setMODIFIER(
319                                 userModifier.getFirstName() != null ? userModifier.getFullName() + "(" + userModifier.getUserId() + ")"
320                                                 : "(" + userModifier.getUserId() + ")");
321                 String status = Integer.toString(errorInfo.getCode());
322                 expectedResourceAuditJavaObject.setStatus(status);
323                 if (errorInfo.getCode() == STATUS_CODE_SUCCESS || errorInfo.getCode() == STATUS_CODE_CREATED) {
324                         expectedResourceAuditJavaObject.setDesc("OK");
325                 } else {
326                         expectedResourceAuditJavaObject.setDesc(errorInfo.getAuditDesc(variables));
327                 }
328                 expectedResourceAuditJavaObject.setCurrState(curState);
329                 expectedResourceAuditJavaObject.setCurrVersion(currVersion);
330                 expectedResourceAuditJavaObject.setDcurrStatus(distCurrStatus);
331                 expectedResourceAuditJavaObject.setDprevStatus(distProvStatus);
332                 expectedResourceAuditJavaObject.setComment(comment);
333                 expectedResourceAuditJavaObject.setSERVICE_INSTANCE_ID(uuid);
334                 if (componentDetails instanceof ServiceReqDetails) {
335                         expectedResourceAuditJavaObject.setResourceName(((ServiceReqDetails) componentDetails).getName());
336                         expectedResourceAuditJavaObject.setResourceType("Service");
337                 }
338                 return expectedResourceAuditJavaObject;
339         }
340
341 }