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