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 // ********** product **************
105 public static Product constructFieldsForRespValidation(ProductReqDetails productDetails, String productVersion,
107 return convertToRespObject(productDetails, productVersion, user.getUserId(), user.getFullName());
110 private static Product convertToRespObject(ProductReqDetails productDetails, String productVersion, String userId,
112 Product expectedProduct = new Product();
114 expectedProduct.setUniqueId(productDetails.getUniqueId());
115 expectedProduct.setName(productDetails.getName());
116 expectedProduct.setFullName(productDetails.getFullName());
117 expectedProduct.setCreatorUserId(productDetails.getCreatorUserId());
118 expectedProduct.setCreatorFullName(productDetails.getCreatorFullName());
119 expectedProduct.setLastUpdaterUserId(userId);
120 expectedProduct.setLastUpdaterFullName(userName);
121 expectedProduct.setDescription(productDetails.getDescription());
122 // expectedProduct.setIcon(resourceDetails.getIcon());
123 expectedProduct.setTags(productDetails.getTags());
124 expectedProduct.setHighestVersion(true);
125 List<CategoryDefinition> categories = productDetails.getCategories();
126 if (categories == null) {
127 categories = new ArrayList<>();
129 expectedProduct.setCategories(categories);
130 expectedProduct.setState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
131 expectedProduct.setVersion(productVersion);
132 expectedProduct.setContacts(productDetails.getContacts());
133 return expectedProduct;
138 public static ExpectedResourceAuditJavaObject constructFieldsForAuditValidation(ResourceReqDetails resourceDetails,
139 String resourceVersion) {
140 return convertToAuditObject(resourceDetails, resourceVersion, UserRoleEnum.ADMIN.getUserId(),
141 UserRoleEnum.ADMIN.getUserName());
144 public static ExpectedResourceAuditJavaObject constructFieldsForAuditValidation(
145 ResourceReqDetails resourceDetails) {
146 return convertToAuditObject(resourceDetails, resourceDetails.getVersion(), UserRoleEnum.ADMIN.getUserId(),
147 UserRoleEnum.ADMIN.getUserName());
150 public static ExpectedResourceAuditJavaObject constructFieldsForAuditValidation(ResourceReqDetails resourceDetails,
151 String resourceVersion, User user) {
152 return convertToAuditObject(resourceDetails, resourceVersion, user.getUserId(), user.getFullName());
155 private static ExpectedResourceAuditJavaObject convertToAuditObject(ResourceReqDetails resourceDetails,
156 String resourceVersion, String userId, String userName) {
157 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
159 expectedResourceAuditJavaObject.setAction("Checkout");
160 expectedResourceAuditJavaObject.setModifierName(userName);
161 expectedResourceAuditJavaObject.setModifierUid(userId);
162 expectedResourceAuditJavaObject.setStatus("200.0");
163 expectedResourceAuditJavaObject.setDesc("OK");
164 expectedResourceAuditJavaObject.setResourceName(resourceDetails.getName());
165 expectedResourceAuditJavaObject.setResourceType("Resource");
166 expectedResourceAuditJavaObject.setPrevVersion(String.valueOf(Float.parseFloat(resourceVersion) - 0.1f));
167 expectedResourceAuditJavaObject.setCurrVersion(resourceVersion);
168 expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
169 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
170 expectedResourceAuditJavaObject.setComment(null);
172 return expectedResourceAuditJavaObject;
175 public static ExpectedProductAudit constructFieldsForAuditValidation(Product productDetails, String action,
176 User user, ActionStatus actionStatus, String prevVersion, String currVersion, LifecycleStateEnum prevState,
177 LifecycleStateEnum currState, String uuid, String... errorMessageParams) throws FileNotFoundException {
178 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(actionStatus.name());
179 return convertToAuditObject(productDetails, action, user, errorInfo, prevVersion, currVersion, prevState,
180 currState, uuid, errorMessageParams);
183 private static ExpectedProductAudit convertToAuditObject(Product productDetails, String action, User user,
184 ErrorInfo errorInfo, String prevVersion, String currVersion, LifecycleStateEnum prevState,
185 LifecycleStateEnum currState, String uuid, String... errorMessageParams) {
186 ExpectedProductAudit expectedProductAudit = new ExpectedProductAudit();
188 expectedProductAudit.setACTION(action);
189 String userId = user.getUserId();
191 if (StringUtils.isEmpty(user.getFirstName()) && StringUtils.isEmpty(user.getLastName())) {
194 userFullName = user.getFullName();
196 if (StringUtils.isEmpty(userId)) {
199 expectedProductAudit.setMODIFIER(
200 !StringUtils.isEmpty(userFullName) ? userFullName + "(" + userId + ")" : "(" + userId + ")");
201 expectedProductAudit.setSTATUS(Integer.toString(errorInfo.getCode()));
202 expectedProductAudit.setDESC(errorInfo.getAuditDesc((Object[]) (errorMessageParams)));
204 .setRESOURCE_NAME(productDetails != null ? productDetails.getName() : Constants.EMPTY_STRING);
205 expectedProductAudit.setRESOURCE_TYPE("Product");
206 expectedProductAudit.setPREV_VERSION(prevVersion);
207 expectedProductAudit.setCURR_VERSION(currVersion);
208 expectedProductAudit.setPREV_STATE(prevState != null ? prevState.name() : Constants.EMPTY_STRING);
209 expectedProductAudit.setCURR_STATE(currState != null ? currState.name() : Constants.EMPTY_STRING);
210 expectedProductAudit.setSERVICE_INSTANCE_ID(uuid);
211 return expectedProductAudit;
215 // Convertor.constructFieldsForAuditValidationSuccess(addUser,
216 //////////////// sdncAdminUser, mechIdUser, null, STATUS_CODE_CREATED);
217 public static ExpectedUserCRUDAudit constructFieldsForAuditValidation(String action, User userModifier,
218 ActionStatus actionStatus, User userAfter, User userBefore, Object... variables) throws Exception {
219 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(actionStatus.name());
220 ExpectedUserCRUDAudit expectedAddUserAuditJavaObject = new ExpectedUserCRUDAudit();
221 expectedAddUserAuditJavaObject.setAction(action);
222 expectedAddUserAuditJavaObject.setModifier(
223 userModifier.getFirstName() != null ? userModifier.getFullName() + "(" + userModifier.getUserId() + ")"
224 : "(" + userModifier.getUserId() + ")");
225 String status = Integer.toString(errorInfo.getCode());
226 expectedAddUserAuditJavaObject.setStatus(status);
227 if (errorInfo.getCode() == STATUS_CODE_SUCCESS || errorInfo.getCode() == STATUS_CODE_CREATED) {
228 expectedAddUserAuditJavaObject.setDesc("OK");
230 expectedAddUserAuditJavaObject.setDesc(errorInfo.getAuditDesc(variables));
232 expectedAddUserAuditJavaObject.setUserBefore(userBefore != null
233 ? userBefore.getUserId() + ", " + userBefore.getFirstName() + " " + userBefore.getLastName() + ", "
234 + userBefore.getEmail() + ", " + userBefore.getRole()
235 : Constants.EMPTY_STRING);
236 expectedAddUserAuditJavaObject.setUserAfter(userAfter != null
237 ? userAfter.getUserId() + ", " + userAfter.getFirstName() + " " + userAfter.getLastName() + ", "
238 + userAfter.getEmail() + ", " + userAfter.getRole()
239 : Constants.EMPTY_STRING);
240 return expectedAddUserAuditJavaObject;
243 // For RESOURCE and SERVICE same Audit
244 public static ExpectedResourceAuditJavaObject constructFieldsForAuditValidation(
245 ComponentReqDetails componentDetails, String action, User userModifier, ActionStatus actionStatus,
246 String currVersion, String prevVersion, String curState, String prevState, String uuid, String comment,
247 Object... variables) throws Exception {
248 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(actionStatus.name());
249 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
250 expectedResourceAuditJavaObject.setAction(action);
251 expectedResourceAuditJavaObject.setMODIFIER(
252 userModifier.getFirstName() != null ? userModifier.getFullName() + "(" + userModifier.getUserId() + ")"
253 : "(" + userModifier.getUserId() + ")");
254 String status = Integer.toString(errorInfo.getCode());
255 expectedResourceAuditJavaObject.setStatus(status);
256 if (errorInfo.getCode() == STATUS_CODE_SUCCESS || errorInfo.getCode() == STATUS_CODE_CREATED) {
257 expectedResourceAuditJavaObject.setDesc("OK");
259 expectedResourceAuditJavaObject.setDesc(errorInfo.getAuditDesc(variables));
261 expectedResourceAuditJavaObject.setCurrState(curState);
262 expectedResourceAuditJavaObject.setPrevState(prevState);
263 expectedResourceAuditJavaObject.setCurrVersion(currVersion);
264 expectedResourceAuditJavaObject.setPrevVersion(prevVersion);
265 expectedResourceAuditJavaObject.setComment(comment);
266 expectedResourceAuditJavaObject.setSERVICE_INSTANCE_ID(uuid);
267 if (componentDetails instanceof ServiceReqDetails) {
268 expectedResourceAuditJavaObject.setResourceName(((ServiceReqDetails) componentDetails).getName());
269 expectedResourceAuditJavaObject.setResourceType("Service");
271 if (componentDetails instanceof ResourceReqDetails) {
272 expectedResourceAuditJavaObject.setResourceName(((ResourceReqDetails) componentDetails).getName());
273 expectedResourceAuditJavaObject.setResourceType("Resource");
275 return expectedResourceAuditJavaObject;
278 // Distribution Service Audit
279 public static ExpectedResourceAuditJavaObject constructFieldsForDistributionAuditValidation(
280 ComponentReqDetails componentDetails, String action, User userModifier, ActionStatus actionStatus,
281 String currVersion, String distCurrStatus, String distProvStatus, String curState, String uuid,
282 String comment, 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.setCurrVersion(currVersion);
298 expectedResourceAuditJavaObject.setDcurrStatus(distCurrStatus);
299 expectedResourceAuditJavaObject.setDprevStatus(distProvStatus);
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 return expectedResourceAuditJavaObject;