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.utils.general;
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;
26 import java.io.FileNotFoundException;
27 import java.util.ArrayList;
28 import java.util.List;
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;
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());
58 public static ResourceRespJavaObject constructFieldsForRespValidation(ResourceReqDetails resourceDetails) {
59 return convertToRespObject(resourceDetails, resourceDetails.getVersion(), UserRoleEnum.ADMIN.getUserId(),
60 UserRoleEnum.ADMIN.getUserName());
64 public static ResourceRespJavaObject constructFieldsForRespValidation(ResourceReqDetails resourceDetails,
65 String resourceVersion, User user) {
66 return convertToRespObject(resourceDetails, resourceVersion, user.getUserId(), user.getFullName());
70 private static ResourceRespJavaObject convertToRespObject(ResourceReqDetails resourceDetails,
71 String resourceVersion, String userId, String userName) {
72 ResourceRespJavaObject resourceRespJavaObject = new ResourceRespJavaObject();
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());
99 return resourceRespJavaObject;
103 // ********** service **************
105 // public static ServiceRespJavaObject
106 // constructFieldsForRespValidation(ServiceReqDetails serviceDetails, String
107 // serviceVersion, User user) {
108 // return convertToRespObject(serviceDetails, serviceVersion,
109 // user.getUserId(), user.getFullName());
113 // private static ServiceRespJavaObject
114 // convertToRespObject(ServiceReqDetails serviceDetails, String
115 // serviceVersion, String UserId, String userName) {
116 // ServiceRespJavaObject serviceRespJavaObject = new
117 // ServiceRespJavaObject();
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);
132 // return serviceRespJavaObject;
135 // ********** product **************
137 public static Product constructFieldsForRespValidation(ProductReqDetails productDetails, String productVersion,
139 return convertToRespObject(productDetails, productVersion, user.getUserId(), user.getFullName());
142 private static Product convertToRespObject(ProductReqDetails productDetails, String productVersion, String userId,
144 Product expectedProduct = new Product();
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<>();
161 expectedProduct.setCategories(categories);
162 expectedProduct.setState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
163 expectedProduct.setVersion(productVersion);
164 expectedProduct.setContacts(productDetails.getContacts());
165 return expectedProduct;
170 public static ExpectedResourceAuditJavaObject constructFieldsForAuditValidation(ResourceReqDetails resourceDetails,
171 String resourceVersion) {
172 return convertToAuditObject(resourceDetails, resourceVersion, UserRoleEnum.ADMIN.getUserId(),
173 UserRoleEnum.ADMIN.getUserName());
176 public static ExpectedResourceAuditJavaObject constructFieldsForAuditValidation(
177 ResourceReqDetails resourceDetails) {
178 return convertToAuditObject(resourceDetails, resourceDetails.getVersion(), UserRoleEnum.ADMIN.getUserId(),
179 UserRoleEnum.ADMIN.getUserName());
182 public static ExpectedResourceAuditJavaObject constructFieldsForAuditValidation(ResourceReqDetails resourceDetails,
183 String resourceVersion, User user) {
184 return convertToAuditObject(resourceDetails, resourceVersion, user.getUserId(), user.getFullName());
187 private static ExpectedResourceAuditJavaObject convertToAuditObject(ResourceReqDetails resourceDetails,
188 String resourceVersion, String userId, String userName) {
189 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
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);
204 return expectedResourceAuditJavaObject;
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);
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();
220 expectedProductAudit.setACTION(action);
221 String userUserId = user.getUserId();
223 if (StringUtils.isEmpty(user.getFirstName()) && StringUtils.isEmpty(user.getLastName())) {
226 userFullName = user.getFullName();
228 if (StringUtils.isEmpty(userUserId)) {
229 userUserId = "UNKNOWN";
231 expectedProductAudit.setMODIFIER(
232 !StringUtils.isEmpty(userFullName) ? userFullName + "(" + userUserId + ")" : "(" + userUserId + ")");
233 expectedProductAudit.setSTATUS(Integer.toString(errorInfo.getCode()));
234 expectedProductAudit.setDESC(errorInfo.getAuditDesc((Object[]) (errorMessageParams)));
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;
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");
262 expectedAddUserAuditJavaObject.setDesc(errorInfo.getAuditDesc(variables));
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;
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");
291 expectedResourceAuditJavaObject.setDesc(errorInfo.getAuditDesc(variables));
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");
303 if (componentDetails instanceof ResourceReqDetails) {
304 expectedResourceAuditJavaObject.setResourceName(((ResourceReqDetails) componentDetails).getName());
305 expectedResourceAuditJavaObject.setResourceType("Resource");
307 return expectedResourceAuditJavaObject;
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");
326 expectedResourceAuditJavaObject.setDesc(errorInfo.getAuditDesc(variables));
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");
338 return expectedResourceAuditJavaObject;