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