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.validation;
23 import static org.testng.AssertJUnit.assertEquals;
24 import static org.testng.AssertJUnit.assertTrue;
26 import java.io.FileNotFoundException;
27 import java.io.IOException;
28 import java.util.ArrayList;
29 import java.util.Arrays;
30 import java.util.HashMap;
31 import java.util.Iterator;
32 import java.util.List;
35 import org.apache.log4j.Logger;
36 import org.codehaus.jettison.json.JSONArray;
37 import org.codehaus.jettison.json.JSONException;
38 import org.codehaus.jettison.json.JSONObject;
39 import org.javatuples.Pair;
40 import org.openecomp.sdc.be.dao.api.ActionStatus;
41 import org.openecomp.sdc.be.datatypes.elements.ConsumerDataDefinition;
42 import org.openecomp.sdc.be.model.ArtifactDefinition;
43 import org.openecomp.sdc.be.model.LifecycleStateEnum;
44 import org.openecomp.sdc.be.model.User;
45 import org.openecomp.sdc.be.model.category.CategoryDefinition;
46 import org.openecomp.sdc.be.model.category.GroupingDefinition;
47 import org.openecomp.sdc.be.model.category.SubCategoryDefinition;
48 import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
49 import org.openecomp.sdc.ci.tests.api.Urls;
50 import org.openecomp.sdc.ci.tests.config.Config;
51 import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails;
52 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
53 import org.openecomp.sdc.ci.tests.datatypes.enums.AuditEnum;
54 import org.openecomp.sdc.ci.tests.datatypes.enums.AuditJsonKeysEnum;
55 import org.openecomp.sdc.ci.tests.datatypes.enums.ComponentType;
56 import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo;
57 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedAuthenticationAudit;
58 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedCategoryAudit;
59 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedDistDownloadAudit;
60 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedEcomConsumerAudit;
61 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedExternalAudit;
62 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedGetUserListAudit;
63 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedProductAudit;
64 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject;
65 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedUserCRUDAudit;
66 import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
67 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
68 import org.openecomp.sdc.ci.tests.run.StartTest;
69 import org.openecomp.sdc.ci.tests.utils.ArtifactUtils;
70 import org.openecomp.sdc.ci.tests.utils.Utils;
71 import org.openecomp.sdc.ci.tests.utils.cassandra.CassandraUtils;
72 import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
73 import org.openecomp.sdc.ci.tests.utils.rest.CategoryRestUtils.CategoryAuditJsonKeysEnum;
74 import org.openecomp.sdc.ci.tests.utils.rest.ConsumerRestUtils.EcompConsumerAuditJsonKeysEnum;
75 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
76 import org.openecomp.sdc.common.api.Constants;
77 import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum;
79 import com.datastax.driver.core.ColumnDefinitions;
80 import com.datastax.driver.core.Row;
82 public class AuditValidationUtils {
83 protected static Logger logger = Logger.getLogger(AuditValidationUtils.class.getName());
84 private static final String auditKeySpaceName = "sdcaudit";
86 public AuditValidationUtils() {
89 StartTest.enableLogger();
90 logger = Logger.getLogger(AuditValidationUtils.class.getName());
94 public static String buildAuditDescription(ErrorInfo errorInfo, List<String> variables) {
96 String auditDesc = errorInfo.getMessageId() + ": " + errorInfo.getMessage();
97 for (int i = 0; i < variables.size(); i++) {
98 if (auditDesc.contains("%" + (i + 1))) {
99 auditDesc = auditDesc.replace("%" + (i + 1), variables.get(i));
106 public static String getModifierString(String userName, String uid) {
108 if (userName.isEmpty() && uid.isEmpty())
111 StringBuilder sb = new StringBuilder();
112 sb.append(userName).append("(").append(uid).append(")");
113 return sb.toString();
117 public static void validateAuditDownloadExternalAPI(ExpectedResourceAuditJavaObject resourceAuditJavaObject,
118 String action, String body, boolean checkAllFields) throws Exception {
119 Map<String, Object> actualAuditRecords = new HashMap<String, Object>();
121 // actualAuditRecords = parseAuditResourceByAction(action, body);
122 actualAuditRecords = parseAuditResourceByAction(action, null);
124 // List<Map<String, Object>> actualAuditRecords = new
125 // ArrayList<Map<String, Object>>();
126 // actualAuditRecords = parseAuditResourceByActionToList(action, body);
128 validateField(actualAuditRecords, AuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
129 validateField(actualAuditRecords, AuditJsonKeysEnum.RESOURCE_NAME.getAuditJsonKeyName(),
130 resourceAuditJavaObject.getResourceName());
131 validateField(actualAuditRecords, AuditJsonKeysEnum.RESOURCE_TYPE.getAuditJsonKeyName(),
132 resourceAuditJavaObject.getResourceType());
134 validateField(actualAuditRecords, AuditJsonKeysEnum.STATUS.getAuditJsonKeyName(),
135 resourceAuditJavaObject.getStatus());
136 validateField(actualAuditRecords, AuditJsonKeysEnum.DESCRIPTION.getAuditJsonKeyName(),
137 resourceAuditJavaObject.getDesc());
139 // validateField(actualAuditRecords,
140 // AuditJsonKeysEnum.CONSUMER_ID.getAuditJsonKeyName(),
141 // resourceAuditJavaObject.getCONSUMER_ID());
142 // validateField(actualAuditRecords,
143 // AuditJsonKeysEnum.RESOURCE_URL.getAuditJsonKeyName(),
144 // resourceAuditJavaObject.getRESOURCE_URL());
148 public static void validateAudit(ExpectedResourceAuditJavaObject resourceAuditJavaObject, String action,
149 String body, boolean checkAllFields) throws Exception {
150 Map<String, Object> actualAuditRecords = new HashMap<String, Object>();
152 // actualAuditRecords = parseAuditResourceByAction(action, body);
153 actualAuditRecords = parseAuditResourceByAction(action, null);
155 if ((resourceAuditJavaObject.getModifierName() != null) && (resourceAuditJavaObject.getModifierUid() != null)) {
156 resourceAuditJavaObject.setModifierUid(getModifierString(resourceAuditJavaObject.getModifierName(),
157 resourceAuditJavaObject.getModifierUid()));
160 validateField(actualAuditRecords, AuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
161 validateField(actualAuditRecords, AuditJsonKeysEnum.RESOURCE_NAME.getAuditJsonKeyName(),
162 resourceAuditJavaObject.getResourceName());
163 validateField(actualAuditRecords, AuditJsonKeysEnum.RESOURCE_TYPE.getAuditJsonKeyName(),
164 resourceAuditJavaObject.getResourceType());
165 validateField(actualAuditRecords, AuditJsonKeysEnum.PREV_VERSION.getAuditJsonKeyName(),
166 resourceAuditJavaObject.getPrevVersion());
167 validateField(actualAuditRecords, AuditJsonKeysEnum.CURR_VERSION.getAuditJsonKeyName(),
168 resourceAuditJavaObject.getCurrVersion());
170 validateField(actualAuditRecords, AuditJsonKeysEnum.MODIFIER.getAuditJsonKeyName(),
171 resourceAuditJavaObject.getModifierUid());
172 validateField(actualAuditRecords, AuditJsonKeysEnum.PREV_STATE.getAuditJsonKeyName(),
173 resourceAuditJavaObject.getPrevState());
174 validateField(actualAuditRecords, AuditJsonKeysEnum.CURR_STATE.getAuditJsonKeyName(),
175 resourceAuditJavaObject.getCurrState());
176 validateField(actualAuditRecords, AuditJsonKeysEnum.STATUS.getAuditJsonKeyName(),
177 resourceAuditJavaObject.getStatus());
178 // validateField(map2, AuditJsonKeysEnum.STATUS.getAuditJsonKeyName(),
179 // Double.parseDouble(resourceAuditJavaObject.getStatus()));
180 validateField(actualAuditRecords, AuditJsonKeysEnum.DESCRIPTION.getAuditJsonKeyName(),
181 resourceAuditJavaObject.getDesc());
182 validateField(actualAuditRecords, AuditJsonKeysEnum.COMMENT.getAuditJsonKeyName(),
183 resourceAuditJavaObject.getComment());
184 // validateField(map2,
185 // AuditJsonKeysEnum.ARTIFACT_DATA.getAuditJsonKeyName(),
186 // resourceAuditJavaObject.getArtifactData());
187 validateField(actualAuditRecords, AuditJsonKeysEnum.TOSCA_NODE_TYPE.getAuditJsonKeyName(),
188 resourceAuditJavaObject.getToscaNodeType());
189 validateField(actualAuditRecords, AuditJsonKeysEnum.CURR_ARTIFACT_UUID.getAuditJsonKeyName(),
190 resourceAuditJavaObject.getCurrArtifactUuid());
191 validateField(actualAuditRecords, AuditJsonKeysEnum.PREV_ARTIFACT_UUID.getAuditJsonKeyName(),
192 resourceAuditJavaObject.getPrevArtifactUuid());
194 validateAtifactDataField(actualAuditRecords, AuditJsonKeysEnum.ARTIFACT_DATA.getAuditJsonKeyName(),
195 resourceAuditJavaObject.getArtifactData(), checkAllFields);
198 public static void validateExternalAudit(ExpectedExternalAudit externalAuditObject, String action,
199 Map<AuditingFieldsKeysEnum, String> body) throws Exception {
201 Map<String, Object> actualAuditRecord = new HashMap<String, Object>();
202 actualAuditRecord = parseAuditResourceByAction(action, body);
204 validateField(actualAuditRecord, AuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
205 validateField(actualAuditRecord, AuditJsonKeysEnum.CONSUMER_ID.getAuditJsonKeyName(),
206 externalAuditObject.getCONSUMER_ID());
208 validateField(actualAuditRecord, AuditJsonKeysEnum.RESOURCE_URL.getAuditJsonKeyName(),
209 externalAuditObject.getRESOURCE_URL());
211 validateField(actualAuditRecord, AuditJsonKeysEnum.RESOURCE_NAME.getAuditJsonKeyName(),
212 externalAuditObject.getRESOURCE_NAME());
213 validateField(actualAuditRecord, AuditJsonKeysEnum.SERVICE_INSTANCE_ID.getAuditJsonKeyName(),
214 externalAuditObject.getSERVICE_INSTANCE_ID());
216 validateField(actualAuditRecord, AuditJsonKeysEnum.RESOURCE_TYPE.getAuditJsonKeyName(),
217 externalAuditObject.getRESOURCE_TYPE());
218 validateField(actualAuditRecord, AuditJsonKeysEnum.STATUS.getAuditJsonKeyName(),
219 externalAuditObject.getSTATUS());
220 validateField(actualAuditRecord, AuditJsonKeysEnum.DESCRIPTION.getAuditJsonKeyName(),
221 externalAuditObject.getDESC());
223 // validateField(actualAuditRecord, AuditJsonKeysEnum.MODIFIER.getAuditJsonKeyName(),
224 // externalAuditObject.getMODIFIER());
225 validateField(actualAuditRecord, AuditJsonKeysEnum.PREV_ARTIFACT_UUID.getAuditJsonKeyName(),
226 externalAuditObject.getPREV_ARTIFACT_UUID());
227 validateField(actualAuditRecord, AuditJsonKeysEnum.CURR_ARTIFACT_UUID.getAuditJsonKeyName(),
228 externalAuditObject.getCURR_ARTIFACT_UUID());
230 validateField(actualAuditRecord, AuditJsonKeysEnum.ARTIFACT_DATA.getAuditJsonKeyName(),
231 externalAuditObject.getARTIFACT_DATA());
235 public enum ArtifactDataFieldEnum {
236 attGroup, artLable, artType, artName, artTimeout, artPayloadUUID, artVersion, artUUID
239 private static void validateAtifactDataField(Map<String, Object> map, String auditJsonKeyName,
240 String expectedArtifactData, boolean checkAllFields) {
241 Map<ArtifactDataFieldEnum, String> expectedArtifactDataFileds = new HashMap<ArtifactDataFieldEnum, String>();
242 Map<ArtifactDataFieldEnum, String> actualAtifactDataFileds = new HashMap<ArtifactDataFieldEnum, String>();
243 if (expectedArtifactData != null) {
244 String[] expected = expectedArtifactData.split(",");
246 assertTrue("Audit field " + auditJsonKeyName + " not found", map.containsKey(auditJsonKeyName));
247 String actualValue = (String) map.get(auditJsonKeyName);
248 String[] actual = actualValue.split(",");
250 if (expected.length == 1 && actual.length == 1) {
251 assertEquals(expectedArtifactData, actualValue);
255 assertEquals(ArtifactDataFieldEnum.values().length, expected.length);
256 assertEquals(ArtifactDataFieldEnum.values().length, actual.length);
258 for (ArtifactDataFieldEnum field : ArtifactDataFieldEnum.values()) {
260 expectedArtifactDataFileds.put(field, expected[field.ordinal()]);
261 actualAtifactDataFileds.put(field, actual[field.ordinal()]);
263 for (Map.Entry<ArtifactDataFieldEnum, String> entry : expectedArtifactDataFileds.entrySet()) {
264 ArtifactDataFieldEnum field = entry.getKey();
265 if (checkAllFields || (!field.equals(ArtifactDataFieldEnum.artVersion)
266 && !field.equals(ArtifactDataFieldEnum.artUUID))) {
267 assertTrue("Audit field ArtifactData dosn't containt " + field,
268 actualAtifactDataFileds.containsKey(field));
269 assertEquals("Audit field ArtifactData dosn't equal " + field,
270 expectedArtifactDataFileds.get(field), actualAtifactDataFileds.get(field));
278 public static void validateEcompConsumerAudit(ExpectedEcomConsumerAudit ecompConsumerAuditJavaObject, String action)
281 String fixedAction = BaseRestUtils.encodeUrlForDownload(action);
282 Map<String, Object> map2 = new HashMap<String, Object>();
283 map2 = parseAuditResourceByAction(fixedAction, null);
285 validateField(map2, EcompConsumerAuditJsonKeysEnum.MODIFIER.getAuditJsonKeyName(),
286 ecompConsumerAuditJavaObject.getModifier());
287 validateField(map2, EcompConsumerAuditJsonKeysEnum.ECOMP_USER.getAuditJsonKeyName(),
288 ecompConsumerAuditJavaObject.getEcomUser());
289 validateField(map2, EcompConsumerAuditJsonKeysEnum.STATUS.getAuditJsonKeyName(),
290 ecompConsumerAuditJavaObject.getStatus());
291 validateField(map2, EcompConsumerAuditJsonKeysEnum.DESC.getAuditJsonKeyName(),
292 ecompConsumerAuditJavaObject.getDesc());
293 validateField(map2, EcompConsumerAuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
296 public static void ecompConsumerAuditSuccess(String action, ConsumerDataDefinition consumerDataDefinition,
297 User user, int status) throws Exception {
298 ExpectedEcomConsumerAudit expectedEcomConsumerAuditJavaObject = new ExpectedEcomConsumerAudit();
299 expectedEcomConsumerAuditJavaObject.setAction(action);
300 expectedEcomConsumerAuditJavaObject.setEcomUser(
301 consumerDataDefinition.getConsumerName() + "," + consumerDataDefinition.getConsumerSalt().toLowerCase()
302 + "," + consumerDataDefinition.getConsumerPassword().toLowerCase());
303 expectedEcomConsumerAuditJavaObject.setStatus(String.valueOf(status));
304 expectedEcomConsumerAuditJavaObject.setDesc("OK");
305 expectedEcomConsumerAuditJavaObject.setModifier(user.getFullName() + "(" + user.getUserId() + ")");
306 AuditValidationUtils.validateEcompConsumerAudit(expectedEcomConsumerAuditJavaObject, action);
309 public static void createEcompConsumerAuditFailure(String action, ConsumerDataDefinition consumerDataDefinition,
310 User user, ActionStatus errorMessage, Object... variables) throws Exception {
312 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(errorMessage.name());
313 ExpectedEcomConsumerAudit expectedEcomConsumerAuditJavaObject = new ExpectedEcomConsumerAudit();
314 expectedEcomConsumerAuditJavaObject.setAction(action);
315 expectedEcomConsumerAuditJavaObject.setEcomUser(
316 consumerDataDefinition.getConsumerName() + "," + consumerDataDefinition.getConsumerSalt().toLowerCase()
317 + "," + consumerDataDefinition.getConsumerPassword().toLowerCase());
318 expectedEcomConsumerAuditJavaObject.setStatus(errorInfo.getCode().toString());
319 expectedEcomConsumerAuditJavaObject.setDesc(errorInfo.getAuditDesc(variables));
320 expectedEcomConsumerAuditJavaObject.setModifier(user.getFullName() + "(" + user.getUserId() + ")");
321 AuditValidationUtils.validateEcompConsumerAudit(expectedEcomConsumerAuditJavaObject, action);
324 public static void deleteEcompConsumerAuditFailure(String action, ConsumerDataDefinition consumerDataDefinition,
325 User user, ActionStatus errorMessage, Object... variables) throws Exception {
327 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(errorMessage.name());
328 ExpectedEcomConsumerAudit expectedEcomConsumerAuditJavaObject = new ExpectedEcomConsumerAudit();
329 // String auditAction = ADD_ECOMP_USER_CREDENTIALS_AUDIT_ACTION;
330 expectedEcomConsumerAuditJavaObject.setAction(action);
331 expectedEcomConsumerAuditJavaObject.setEcomUser(consumerDataDefinition.getConsumerName());
332 expectedEcomConsumerAuditJavaObject.setStatus(errorInfo.getCode().toString());
333 expectedEcomConsumerAuditJavaObject.setDesc(errorInfo.getAuditDesc(variables));
334 expectedEcomConsumerAuditJavaObject.setModifier(user.getFullName() + "(" + user.getUserId() + ")");
335 AuditValidationUtils.validateEcompConsumerAudit(expectedEcomConsumerAuditJavaObject, action);
338 ////////////////////// US571255
339 public static void GetListOfUsersByRolesAuditFailure(String action, String roles, int status, User userModifier,
340 ActionStatus errorMessage, Object... variables) throws Exception {
341 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(errorMessage.name());
342 ExpectedGetUserListAudit expectedGetListOfUsersAuditJavaObject = new ExpectedGetUserListAudit(); // String
345 // ADD_ECOMP_USER_CREDENTIALS_AUDIT_ACTION;
346 expectedGetListOfUsersAuditJavaObject.setAction(action);
347 expectedGetListOfUsersAuditJavaObject.setStatus(String.valueOf(status));
348 expectedGetListOfUsersAuditJavaObject.setDesc(errorInfo.getAuditDesc(variables));
350 expectedGetListOfUsersAuditJavaObject.setDetails(roles);
351 if (errorMessage == ActionStatus.USER_INACTIVE || errorMessage == ActionStatus.MISSING_INFORMATION) {
352 expectedGetListOfUsersAuditJavaObject.setModifier("(UNKNOWN)");
354 expectedGetListOfUsersAuditJavaObject
355 .setModifier(userModifier.getFullName() + "(" + userModifier.getUserId() + ")");
357 AuditValidationUtils.validateAuditGetListOfUsersByRoles(expectedGetListOfUsersAuditJavaObject, action);
360 public static void GetListOfUsersByRolesAuditSuccess(String action, String roles, User user, int status)
362 ExpectedGetUserListAudit expectedGetListOfUsersAuditJavaObject = new ExpectedGetUserListAudit();
363 expectedGetListOfUsersAuditJavaObject.setAction(action);
364 expectedGetListOfUsersAuditJavaObject.setStatus(String.valueOf(status));
365 expectedGetListOfUsersAuditJavaObject.setDesc("OK");
366 expectedGetListOfUsersAuditJavaObject.setModifier(user.getFullName() + "(" + user.getUserId() + ")");
367 expectedGetListOfUsersAuditJavaObject.setDetails(roles);
368 validateAuditGetListOfUsersByRoles(expectedGetListOfUsersAuditJavaObject, action);
371 public static void validateAuditGetListOfUsersByRoles(ExpectedGetUserListAudit GetListOfUsersAuditJavaObject,
372 String action) throws Exception {
374 Map<String, Object> map2 = new HashMap<String, Object>();
375 map2 = parseAuditResourceByAction(action, null);
376 validateField(map2, AuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
377 validateField(map2, AuditJsonKeysEnum.STATUS.getAuditJsonKeyName(), GetListOfUsersAuditJavaObject.getStatus());
378 validateField(map2, AuditJsonKeysEnum.MODIFIER.getAuditJsonKeyName(),
379 GetListOfUsersAuditJavaObject.getModifier());
380 validateField(map2, AuditJsonKeysEnum.DESCRIPTION.getAuditJsonKeyName(),
381 GetListOfUsersAuditJavaObject.getDesc());
382 validateField(map2, AuditJsonKeysEnum.DETAILS.getAuditJsonKeyName(),
383 GetListOfUsersAuditJavaObject.getDetails());
386 public static void validateAuditImport(ExpectedResourceAuditJavaObject resourceAuditJavaObject, String action)
389 Map<String, Object> map2 = new HashMap<String, Object>();
390 map2 = parseAuditResourceByAction(action, null);
392 resourceAuditJavaObject.setModifierUid(
393 getModifierString(resourceAuditJavaObject.getModifierName(), resourceAuditJavaObject.getModifierUid()));
395 validateField(map2, AuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
396 validateField(map2, AuditJsonKeysEnum.RESOURCE_TYPE.getAuditJsonKeyName(),
397 resourceAuditJavaObject.getResourceType());
398 validateField(map2, AuditJsonKeysEnum.PREV_VERSION.getAuditJsonKeyName(),
399 resourceAuditJavaObject.getPrevVersion());
400 validateField(map2, AuditJsonKeysEnum.CURR_VERSION.getAuditJsonKeyName(),
401 resourceAuditJavaObject.getCurrVersion());
402 validateField(map2, AuditJsonKeysEnum.MODIFIER.getAuditJsonKeyName(), resourceAuditJavaObject.getModifierUid());
403 validateField(map2, AuditJsonKeysEnum.PREV_STATE.getAuditJsonKeyName(), resourceAuditJavaObject.getPrevState());
404 validateField(map2, AuditJsonKeysEnum.CURR_STATE.getAuditJsonKeyName(), resourceAuditJavaObject.getCurrState());
405 validateField(map2, AuditJsonKeysEnum.STATUS.getAuditJsonKeyName(), resourceAuditJavaObject.getStatus());
406 validateField(map2, AuditJsonKeysEnum.DESCRIPTION.getAuditJsonKeyName(), resourceAuditJavaObject.getDesc());
410 public static void validateAuditDistribution(ExpectedResourceAuditJavaObject resourceAuditJavaObject, String action)
413 Map<String, Object> map2 = new HashMap<String, Object>();
414 map2 = parseAuditResourceByAction(action, null);
416 resourceAuditJavaObject.setModifierUid(
417 getModifierString(resourceAuditJavaObject.getModifierName(), resourceAuditJavaObject.getModifierUid()));
419 validateField(map2, AuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
420 validateField(map2, AuditJsonKeysEnum.RESOURCE_NAME.getAuditJsonKeyName(),
421 resourceAuditJavaObject.getResourceName());
422 validateField(map2, AuditJsonKeysEnum.RESOURCE_TYPE.getAuditJsonKeyName(),
423 resourceAuditJavaObject.getResourceType());
424 validateField(map2, AuditJsonKeysEnum.CURR_VERSION.getAuditJsonKeyName(),
425 resourceAuditJavaObject.getCurrVersion());
426 validateField(map2, AuditJsonKeysEnum.MODIFIER.getAuditJsonKeyName(), resourceAuditJavaObject.getModifierUid());
427 validateField(map2, AuditJsonKeysEnum.CURR_STATE.getAuditJsonKeyName(), resourceAuditJavaObject.getCurrState());
428 validateField(map2, AuditJsonKeysEnum.DPREV_STATUS.getAuditJsonKeyName(),
429 resourceAuditJavaObject.getDprevStatus());
430 validateField(map2, AuditJsonKeysEnum.DCURR_STATUS.getAuditJsonKeyName(),
431 resourceAuditJavaObject.getDcurrStatus());
432 validateField(map2, AuditJsonKeysEnum.STATUS.getAuditJsonKeyName(), resourceAuditJavaObject.getStatus());
433 validateField(map2, AuditJsonKeysEnum.DESCRIPTION.getAuditJsonKeyName(), resourceAuditJavaObject.getDesc());
434 validateField(map2, AuditJsonKeysEnum.COMMENT.getAuditJsonKeyName(), resourceAuditJavaObject.getComment());
435 validateField(map2, AuditJsonKeysEnum.DID.getAuditJsonKeyName(), resourceAuditJavaObject.getDistributionId());
440 public static void validateAudit_Distribution(ExpectedResourceAuditJavaObject resourceAuditJavaObject,
441 String action) throws Exception {
443 List<Map<String, Object>> actionToList = getAuditListByAction(resourceAuditJavaObject.getAction(), 1);
444 Map<String, Object> map2 = actionToList.get(0);
445 validateField(map2, AuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
446 validateField(map2, AuditJsonKeysEnum.RESOURCE_NAME.getAuditJsonKeyName(),
447 resourceAuditJavaObject.getResourceName());
448 validateField(map2, AuditJsonKeysEnum.RESOURCE_TYPE.getAuditJsonKeyName(),
449 resourceAuditJavaObject.getResourceType());
450 validateField(map2, AuditJsonKeysEnum.CURR_VERSION.getAuditJsonKeyName(),
451 resourceAuditJavaObject.getCurrVersion());
452 validateField(map2, AuditJsonKeysEnum.MODIFIER.getAuditJsonKeyName(), resourceAuditJavaObject.getMODIFIER());
453 validateField(map2, AuditJsonKeysEnum.CURR_STATE.getAuditJsonKeyName(), resourceAuditJavaObject.getCurrState());
454 validateField(map2, AuditJsonKeysEnum.DPREV_STATUS.getAuditJsonKeyName(),
455 resourceAuditJavaObject.getDprevStatus());
456 validateField(map2, AuditJsonKeysEnum.DCURR_STATUS.getAuditJsonKeyName(),
457 resourceAuditJavaObject.getDcurrStatus());
458 validateField(map2, AuditJsonKeysEnum.STATUS.getAuditJsonKeyName(), resourceAuditJavaObject.getStatus());
459 validateField(map2, AuditJsonKeysEnum.DESCRIPTION.getAuditJsonKeyName(), resourceAuditJavaObject.getDesc());
460 validateField(map2, AuditJsonKeysEnum.COMMENT.getAuditJsonKeyName(), resourceAuditJavaObject.getComment());
464 public void validateAuditNotification(ExpectedResourceAuditJavaObject resourceAuditJavaObject, String action)
467 Map<String, Object> map2 = new HashMap<String, Object>();
468 map2 = parseAuditResourceByAction(action, null);
470 resourceAuditJavaObject.setModifierUid(
471 getModifierString(resourceAuditJavaObject.getModifierName(), resourceAuditJavaObject.getModifierUid()));
473 validateField(map2, AuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
474 validateField(map2, AuditJsonKeysEnum.RESOURCE_NAME.getAuditJsonKeyName(),
475 resourceAuditJavaObject.getResourceName());
476 validateField(map2, AuditJsonKeysEnum.RESOURCE_TYPE.getAuditJsonKeyName(),
477 resourceAuditJavaObject.getResourceType());
478 validateField(map2, AuditJsonKeysEnum.CURR_VERSION.getAuditJsonKeyName(),
479 resourceAuditJavaObject.getCurrVersion());
480 validateField(map2, AuditJsonKeysEnum.CURR_STATE.getAuditJsonKeyName(), resourceAuditJavaObject.getCurrState());
481 validateField(map2, AuditJsonKeysEnum.STATUS.getAuditJsonKeyName(), resourceAuditJavaObject.getStatus());
482 validateField(map2, AuditJsonKeysEnum.DESCRIPTION.getAuditJsonKeyName(), resourceAuditJavaObject.getDesc());
483 validateField(map2, AuditJsonKeysEnum.DID.getAuditJsonKeyName(), resourceAuditJavaObject.getDistributionId());
484 validateField(map2, AuditJsonKeysEnum.TOPIC_NAME.getAuditJsonKeyName(), resourceAuditJavaObject.getTopicName());
488 public static void validateAudit(ExpectedDistDownloadAudit expectedDistDownloadAudit, String action)
491 Map<String, Object> map2 = new HashMap<String, Object>();
492 map2 = parseAuditResourceByAction(action, null);
494 validateField(map2, AuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
495 validateField(map2, AuditJsonKeysEnum.STATUS.getAuditJsonKeyName(), expectedDistDownloadAudit.getStatus());
496 validateField(map2, AuditJsonKeysEnum.DESCRIPTION.getAuditJsonKeyName(), expectedDistDownloadAudit.getDesc());
497 validateField(map2, AuditJsonKeysEnum.CONSUMER_ID.getAuditJsonKeyName(),
498 expectedDistDownloadAudit.getConsumerId());
499 validateField(map2, AuditJsonKeysEnum.RESOURCE_URL.getAuditJsonKeyName(),
500 expectedDistDownloadAudit.getResourceUrl());
503 public static void validateAuditExternalSearchAPI(ExpectedExternalAudit expectedDistDownloadAudit, String action, Map<AuditingFieldsKeysEnum, String> body)
506 Map<String, Object> map2 = new HashMap<String, Object>();
507 map2 = parseAuditResourceByAction(action, body);
509 validateField(map2, AuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
510 validateField(map2, AuditJsonKeysEnum.STATUS.getAuditJsonKeyName(), expectedDistDownloadAudit.getSTATUS());
511 validateField(map2, AuditJsonKeysEnum.DESCRIPTION.getAuditJsonKeyName(), expectedDistDownloadAudit.getDESC());
512 validateField(map2, AuditJsonKeysEnum.CONSUMER_ID.getAuditJsonKeyName(),
513 expectedDistDownloadAudit.getCONSUMER_ID());
514 validateField(map2, AuditJsonKeysEnum.RESOURCE_URL.getAuditJsonKeyName(),
515 expectedDistDownloadAudit.getRESOURCE_URL());
518 public static void validateAuditExternalCreateResource(ExpectedResourceAuditJavaObject expectedExternalAudit, String action, Map<AuditingFieldsKeysEnum, String> body) throws Exception {
519 Map<String, Object> map2 = new HashMap<String, Object>();
520 map2 = parseAuditResourceByAction(action, body);
522 validateField(map2, AuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
523 validateField(map2, AuditJsonKeysEnum.RESOURCE_NAME.getAuditJsonKeyName(), expectedExternalAudit.getResourceName());
524 validateField(map2, AuditJsonKeysEnum.RESOURCE_TYPE.getAuditJsonKeyName(), expectedExternalAudit.getResourceType());
525 validateField(map2, AuditJsonKeysEnum.CONSUMER_ID.getAuditJsonKeyName(), expectedExternalAudit.getCONSUMER_ID());
526 validateField(map2, AuditJsonKeysEnum.RESOURCE_URL.getAuditJsonKeyName(), expectedExternalAudit.getRESOURCE_URL());
527 validateField(map2, AuditJsonKeysEnum.MODIFIER.getAuditJsonKeyName(), expectedExternalAudit.getMODIFIER());
529 validateField(map2, AuditJsonKeysEnum.PREV_VERSION.getAuditJsonKeyName(), expectedExternalAudit.getPrevVersion());
530 validateField(map2, AuditJsonKeysEnum.CURR_VERSION.getAuditJsonKeyName(), expectedExternalAudit.getCurrVersion());
531 validateField(map2, AuditJsonKeysEnum.PREV_STATE.getAuditJsonKeyName(), expectedExternalAudit.getPrevState());
532 validateField(map2, AuditJsonKeysEnum.CURR_STATE.getAuditJsonKeyName(), expectedExternalAudit.getCurrState());
534 validateField(map2, AuditJsonKeysEnum.STATUS.getAuditJsonKeyName(), expectedExternalAudit.getStatus());
535 validateField(map2, AuditJsonKeysEnum.DESCRIPTION.getAuditJsonKeyName(), expectedExternalAudit.getDesc());
538 public static void validateAuditExternalChangeLifecycle(ExpectedResourceAuditJavaObject expectedExternalAudit, String action, Map<AuditingFieldsKeysEnum, String> body) throws Exception {
539 Map<String, Object> map2 = new HashMap<String, Object>();
540 map2 = parseAuditResourceByAction(action, body);
542 validateField(map2, AuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
543 validateField(map2, AuditJsonKeysEnum.RESOURCE_NAME.getAuditJsonKeyName(), expectedExternalAudit.getResourceName());
544 validateField(map2, AuditJsonKeysEnum.RESOURCE_TYPE.getAuditJsonKeyName(), expectedExternalAudit.getResourceType());
545 validateField(map2, AuditJsonKeysEnum.CONSUMER_ID.getAuditJsonKeyName(), expectedExternalAudit.getCONSUMER_ID());
546 validateField(map2, AuditJsonKeysEnum.RESOURCE_URL.getAuditJsonKeyName(), expectedExternalAudit.getRESOURCE_URL());
547 validateField(map2, AuditJsonKeysEnum.MODIFIER.getAuditJsonKeyName(), expectedExternalAudit.getMODIFIER());
549 validateField(map2, AuditJsonKeysEnum.PREV_VERSION.getAuditJsonKeyName(), expectedExternalAudit.getPrevVersion());
550 validateField(map2, AuditJsonKeysEnum.CURR_VERSION.getAuditJsonKeyName(), expectedExternalAudit.getCurrVersion());
551 validateField(map2, AuditJsonKeysEnum.PREV_STATE.getAuditJsonKeyName(), expectedExternalAudit.getPrevState());
552 validateField(map2, AuditJsonKeysEnum.CURR_STATE.getAuditJsonKeyName(), expectedExternalAudit.getCurrState());
554 validateField(map2, AuditJsonKeysEnum.STATUS.getAuditJsonKeyName(), expectedExternalAudit.getStatus());
555 validateField(map2, AuditJsonKeysEnum.DESCRIPTION.getAuditJsonKeyName(), expectedExternalAudit.getDesc());
558 public void validateAuditDeploy(ExpectedResourceAuditJavaObject resourceAuditJavaObject, String action)
561 Map<String, Object> map2 = new HashMap<String, Object>();
562 map2 = parseAuditResourceByAction(action, null);
564 resourceAuditJavaObject.setModifierUid(
565 getModifierString(resourceAuditJavaObject.getModifierName(), resourceAuditJavaObject.getModifierUid()));
567 validateField(map2, AuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
568 validateField(map2, AuditJsonKeysEnum.RESOURCE_NAME.getAuditJsonKeyName(),
569 resourceAuditJavaObject.getResourceName());
570 validateField(map2, AuditJsonKeysEnum.RESOURCE_TYPE.getAuditJsonKeyName(),
571 resourceAuditJavaObject.getResourceType());
572 validateField(map2, AuditJsonKeysEnum.CURR_VERSION.getAuditJsonKeyName(),
573 resourceAuditJavaObject.getCurrVersion());
574 validateField(map2, AuditJsonKeysEnum.MODIFIER.getAuditJsonKeyName(), resourceAuditJavaObject.getModifierUid());
575 validateField(map2, AuditJsonKeysEnum.STATUS.getAuditJsonKeyName(), resourceAuditJavaObject.getStatus());
576 validateField(map2, AuditJsonKeysEnum.DESCRIPTION.getAuditJsonKeyName(), resourceAuditJavaObject.getDesc());
577 validateField(map2, AuditJsonKeysEnum.DID.getAuditJsonKeyName(), resourceAuditJavaObject.getDistributionId());
581 public static void validateAuditProduct(ExpectedProductAudit productExpectedAudit, String action,
582 AuditJsonKeysEnum... additionalFields) throws Exception {
584 Map<String, Object> map2 = new HashMap<String, Object>();
585 map2 = parseAuditResourceByAction(action, null);
587 validateField(map2, AuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
588 validateField(map2, AuditJsonKeysEnum.RESOURCE_NAME.getAuditJsonKeyName(),
589 productExpectedAudit.getRESOURCE_NAME());
590 validateField(map2, AuditJsonKeysEnum.RESOURCE_TYPE.getAuditJsonKeyName(),
591 productExpectedAudit.getRESOURCE_TYPE());
592 validateField(map2, AuditJsonKeysEnum.PREV_VERSION.getAuditJsonKeyName(),
593 productExpectedAudit.getPREV_VERSION());
594 validateField(map2, AuditJsonKeysEnum.CURR_VERSION.getAuditJsonKeyName(),
595 productExpectedAudit.getCURR_VERSION());
596 validateField(map2, AuditJsonKeysEnum.PREV_STATE.getAuditJsonKeyName(), productExpectedAudit.getPREV_STATE());
597 validateField(map2, AuditJsonKeysEnum.CURR_STATE.getAuditJsonKeyName(), productExpectedAudit.getCURR_STATE());
598 validateField(map2, AuditJsonKeysEnum.MODIFIER.getAuditJsonKeyName(), productExpectedAudit.getMODIFIER());
599 validateField(map2, AuditJsonKeysEnum.STATUS.getAuditJsonKeyName(), productExpectedAudit.getSTATUS());
600 validateField(map2, AuditJsonKeysEnum.DESCRIPTION.getAuditJsonKeyName(), productExpectedAudit.getDESC());
601 validateField(map2, AuditJsonKeysEnum.SERVICE_INSTANCE_ID.getAuditJsonKeyName(),
602 productExpectedAudit.getSERVICE_INSTANCE_ID());
603 if (additionalFields != null) {
604 List<AuditJsonKeysEnum> fieldsList = Arrays.asList(additionalFields);
605 if (fieldsList.contains(AuditJsonKeysEnum.COMMENT)) {
606 validateField(map2, AuditJsonKeysEnum.COMMENT.getAuditJsonKeyName(), productExpectedAudit.getCOMMENT());
611 private static List<Map<String, Object>> getAuditListByAction(String action, int expectedNumOfAudit)
613 List<Map<String, Object>> actionToList = parseAuditResourceByActionToList(action, null);
614 assertEquals("recieved different audits number than expected", expectedNumOfAudit, actionToList.size());
618 public static void validateAuthenticationAudit(ExpectedAuthenticationAudit expectedAudit) throws Exception {
619 List<Map<String, Object>> actionToList = getAuditListByAction(expectedAudit.getAction(), 1);
620 assertEquals("expected number of ES action is 1", 1, actionToList.size());
622 Map<String, Object> map = actionToList.get(0);
623 validateField(map, AuditEnum.ACTION.getValue(), expectedAudit.getAction());
624 validateField(map, AuditEnum.URL.getValue(), expectedAudit.getUrl());
625 validateField(map, AuditEnum.USER.getValue(), expectedAudit.getUser());
626 validateField(map, AuditEnum.AUTH_STATUS.getValue(), expectedAudit.getAuthStatus());
627 validateField(map, AuditEnum.REALM.getValue(), expectedAudit.getRealm());
631 private static void validateField(Map<String, Object> actualAuditRecord, String jsonField, Object expectedValue) {
632 if (expectedValue == null) {
634 if (actualAuditRecord.containsKey(jsonField)) {
635 assertTrue("Audit field " + jsonField + ": expected null, actual " + actualAuditRecord.get(jsonField),
636 actualAuditRecord.get(jsonField).toString().equals("null")
637 || actualAuditRecord.get(jsonField).toString().equals(Constants.EMPTY_STRING));
641 assertTrue("Audit field " + jsonField + " not found in actual", actualAuditRecord.containsKey(jsonField));
642 Object foundValue = actualAuditRecord.get(jsonField);
643 compareElements(expectedValue, foundValue);
647 private static void compareElements(Object expectedValue, Object foundValue) {
648 if (expectedValue instanceof String) {
649 assertTrue("Actual value " + foundValue + " is not string", foundValue instanceof String);
650 assertTrue("Expected " + expectedValue + " not equal to actual " + foundValue,
651 foundValue.equals(expectedValue));
654 * else if( expectedValue instanceof Number){ assertTrue(foundValue
655 * instanceof Number); assertTrue(foundValue == expectedValue); }
657 else if (expectedValue instanceof Boolean) {
658 assertTrue(foundValue instanceof Boolean);
659 assertTrue(foundValue == expectedValue);
660 } else if (expectedValue instanceof Map) {
661 assertTrue(foundValue instanceof Map);
662 Map<String, Object> foundMap = (Map<String, Object>) foundValue;
663 Map<String, Object> excpectedMap = (Map<String, Object>) expectedValue;
664 assertTrue(foundMap.size() == excpectedMap.size());
665 Iterator<String> foundkeyItr = foundMap.keySet().iterator();
666 while (foundkeyItr.hasNext()) {
667 String foundKey = foundkeyItr.next();
668 assertTrue(excpectedMap.containsKey(foundKey));
669 compareElements(excpectedMap.get(foundKey), foundMap.get(foundKey));
672 } else if (expectedValue instanceof List) {
673 assertTrue(foundValue instanceof List);
674 List<Object> foundList = (List<Object>) foundValue;
675 List<Object> excpectedList = (List<Object>) expectedValue;
676 assertTrue(foundList.size() == excpectedList.size());
677 for (int i = 0; i < foundList.size(); i++) {
678 compareElements(excpectedList.get(i), foundList.get(i));
682 assertTrue(foundValue.equals(expectedValue));
686 // public static Map<String, Object> parseAuditResourceByAction(String
687 // action, String body) throws Exception {
689 // Map auditingMessage = null;
690 // auditingMessage = retrieveAuditMessagesByPattern(action, null);
692 // return auditingMessage;
696 public static Map<String, Object> parseAuditResourceByAction(String action, Map<AuditingFieldsKeysEnum, String> body) throws Exception {
698 Map auditingMessage = null;
699 auditingMessage = retrieveAuditMessagesByPattern(action, body, false);
701 return auditingMessage;
705 // public static List<Map<String, Object>>
706 // parseAuditResourceByActionToList(String action, String body) throws
709 // List<Map<String, Object>> auditList = new ArrayList<Map<String,
712 //// String auditingMessage = null;
714 // Map auditingMessage = null;
715 // auditingMessage = retrieveAuditMessagesByPattern(action);
717 // if (body == null) {
718 //// String pattern = "/_search?q=ACTION:\"" + action + "\"";
719 //// auditingMessage = retrieveAuditMessagesByPattern(action);
720 //// auditingMessage = retrieveAuditMessagesByPattern(pattern);
722 //// auditingMessage = retrieveAuditMessagesUsingBody(body);
725 // return ResponseParser.getAuditFromMessage(auditingMessage);
729 public static List<Map<String, Object>> parseAuditResourceByActionToList(String action,
730 Map<AuditingFieldsKeysEnum, String> body) throws Exception {
732 List<Map<String, Object>> auditList = new ArrayList<Map<String, Object>>();
734 // String auditingMessage = null;
736 Map auditingMessage = null;
738 if (body == null || body.isEmpty()) {
739 auditingMessage = retrieveAuditMessagesByPattern(action, null, false);
740 // String pattern = "/_search?q=ACTION:\"" + action + "\"";
741 // auditingMessage = retrieveAuditMessagesByPattern(action);
742 // auditingMessage = retrieveAuditMessagesByPattern(pattern);
744 auditingMessage = retrieveAuditMessagesByPattern(action, body, false);
745 // auditingMessage = retrieveAuditMessagesUsingBody(body);
748 return ResponseParser.getAuditFromMessage(auditingMessage);
752 public JSONObject buildElasticQueryStringObject(String defaultField, String queryValue) throws JSONException {
754 JSONObject query_string = new JSONObject();
755 JSONObject jSONObject = new JSONObject();
756 jSONObject.put("default_field", defaultField);
757 jSONObject.put("query", queryValue);
759 query_string.put("query_string", jSONObject);
764 public static JSONObject buildElasticQueryBody(List<JSONObject> listObjects) throws JSONException {
766 JSONObject query = new JSONObject();
767 JSONObject bool = new JSONObject();
768 JSONObject must = new JSONObject();
769 JSONArray mustA = new JSONArray();
771 for (int i = 0; i < listObjects.size(); i++) {
772 JSONObject match = new JSONObject();
773 match.put("match", listObjects.get(i));
778 must.put("must", mustA);
779 bool.put("bool", must);
780 query.put("query", bool);
785 public static String retrieveAuditMessagesUsingBody(String query_string) throws IOException {
787 Config config = Utils.getConfig();
788 HttpRequest getAuditingMessage = new HttpRequest();
789 Map<String, String> headersMap = new HashMap<String, String>();
790 String body = query_string;
792 String url = String.format(Urls.GET_SEARCH_DATA_FROM_ES, config.getEsHost(), config.getEsPort(), "_search");
793 RestResponse restResponse = getAuditingMessage.httpSendPost(url, body, headersMap);
795 return restResponse.getResponse();
798 public static Map<String, String> retrieveAuditMessagesByPattern(String action, Map<AuditingFieldsKeysEnum, String> body, Boolean retryFlag)
801 // get cassandra table name by action
802 String esType = AuditingActionEnum.getActionByName(action).getAuditingEsType();
803 Map<String, String> resultsMap = new HashMap<String, String>();
805 List<Pair<AuditingFieldsKeysEnum, String>> myFields = new ArrayList<Pair<AuditingFieldsKeysEnum, String>>();
806 Pair<AuditingFieldsKeysEnum, String> myPair = new Pair<AuditingFieldsKeysEnum, String>(
807 AuditingFieldsKeysEnum.AUDIT_ACTION, action);
808 myFields.add(0, myPair);
809 if (body != null && !body.isEmpty()) {
810 for (Map.Entry<AuditingFieldsKeysEnum, String> mapElement : body.entrySet()) {
811 myFields.add(new Pair<AuditingFieldsKeysEnum, String>(mapElement.getKey(), mapElement.getValue()));
815 List<Row> fetchFromTable = CassandraUtils.fetchFromTable(auditKeySpaceName, esType, myFields);
817 if(fetchFromTable.size() == 0){
821 assertTrue("expected on fetching from data base one record only, actual: " + fetchFromTable.size(), fetchFromTable.size() == 1);
822 Row row = fetchFromTable.get(0);
824 ColumnDefinitions columnDefinitions = row.getColumnDefinitions();
827 for (int i = 0; i < columnDefinitions.size(); i++) {
828 resultsMap.put(columnDefinitions.getName(i), row.getObject(columnDefinitions.getName(i)) == null ? "null"
829 : row.getObject(columnDefinitions.getName(i)).toString());
835 // public static Map retrieveAuditMessagesByPattern(String pattern) throws
838 //// Config config = Utils.getConfig();
839 //// HttpRequest getAuditingMessage = new HttpRequest();
840 //// String url = String.format(Urls.GET_SEARCH_DATA_FROM_ES,
841 // config.getEsHost(), config.getEsPort(), pattern);
842 //// RestResponse restResponse = getAuditingMessage.httpSendGet(url, null);
844 //// get cassandra table name by action
846 // AuditingActionEnum.getActionByName(pattern).getAuditingEsType();
847 //// AuditingActionEnum actionByName =
848 // AuditingActionEnum.getActionByName(pattern);
850 //// Map<AuditingFieldsKeysEnum, String> myFields= new
851 // HashMap<AuditingFieldsKeysEnum, String>();
852 //// myFields.put(AuditingFieldsKeysEnum.AUDIT_ACTION , pattern);
854 // List<Pair<AuditingFieldsKeysEnum, String>> myFields = new
855 // ArrayList<Pair<AuditingFieldsKeysEnum, String>>();
856 // Pair<AuditingFieldsKeysEnum, String> myPair = new
857 // Pair<AuditingFieldsKeysEnum, String>(AuditingFieldsKeysEnum.AUDIT_ACTION
859 // myFields.add(0, myPair);
862 // List<Row> fetchFromTable = CassandraUtils.fetchFromTable("sdcaudit",
863 // esType, myFields);
864 // Row row = fetchFromTable.get(0);
867 // ColumnDefinitions columnDefinitions = row.getColumnDefinitions();
868 //// String string = row.getString(columnDefinitions.getName(1));
870 //// String metaData = row.getColumnDefinitions().toString();
871 //// metaData =metaData.replaceAll("\\((.*?)\\)|\\[|\\]|Columns", "");
872 //// List<String> metaDataList = new
873 // ArrayList<String>(Arrays.asList(metaData.split(", ")));
877 // Map<String, String> resultsMap = new HashMap<String, String>();
880 // for (int i=0 ; i < columnDefinitions.size() ; i++){
881 // resultsMap.put(columnDefinitions.getName(i) ,
882 // row.getObject(columnDefinitions.getName(i)) == null ? "null" :
883 // row.getObject(columnDefinitions.getName(i)).toString());
885 //// for (String string : metaDataList) {
886 //// resultsMap.put(string , row.getString(string));
890 //// String dataString = fetchFromTable.toString();
891 //// dataString = dataString.replaceAll("\\[|\\]|Row", "");
892 //// List<String> dataArray = new
893 // ArrayList<String>(Arrays.asList(dataString.split(", ")));
896 //// Map<String, String> resultsMap = new HashMap<String, String>();
897 //// for (int i=0 ; i<metaDataList.size() ; i++) {
898 //// resultsMap.put(metaDataList.get(i), dataArray.get(i));
901 //// return restResponse.getResponse();
902 // return resultsMap;
905 public static void categoryAuditSuccess(String action, CategoryDefinition categoryDefinition, User user, int status,
906 String resourceType) throws Exception {
907 categoryAuditSuccessInternal(action, categoryDefinition, null, null, user, status, resourceType);
910 public static void categoryAuditFailure(String action, CategoryDefinition categoryDataDefinition, User user,
911 ActionStatus errorMessage, int status, String resourceType, Object... variables) throws Exception {
912 categoryAuditFailureInternal(action, categoryDataDefinition, null, null, user, errorMessage, status,
913 resourceType, variables);
916 public static void subCategoryAuditSuccess(String action, CategoryDefinition categoryDefinition,
917 SubCategoryDefinition subCategoryDefinition, User user, int status, String resourceType) throws Exception {
918 categoryAuditSuccessInternal(action, categoryDefinition, subCategoryDefinition, null, user, status,
922 public static void groupingAuditSuccess(String action, CategoryDefinition categoryDefinition,
923 SubCategoryDefinition subCategoryDefinition, GroupingDefinition groupingDefinition, User user, int status,
924 String resourceType) throws Exception {
925 categoryAuditSuccessInternal(action, categoryDefinition, subCategoryDefinition, groupingDefinition, user,
926 status, resourceType);
929 public static void subCategoryAuditFailure(String action, CategoryDefinition categoryDataDefinition,
930 SubCategoryDefinition subCategoryDefinition, User user, ActionStatus errorMessage, int status,
931 String resourceType, Object... variables) throws Exception {
932 categoryAuditFailureInternal(action, categoryDataDefinition, subCategoryDefinition, null, user, errorMessage,
933 status, resourceType, variables);
937 public static void groupingAuditFailure(String action, CategoryDefinition categoryDefinition,
938 SubCategoryDefinition subCategoryDefinition, GroupingDefinition groupingDefinition, User user,
939 ActionStatus errorMessage, int status, String resourceType, Object... variables) throws Exception {
940 groupingAuditFailureInternal(action, categoryDefinition, subCategoryDefinition, groupingDefinition, user,
941 errorMessage, status, resourceType, variables);
944 private static void groupingAuditFailureInternal(String action, CategoryDefinition categoryDataDefinition,
945 SubCategoryDefinition subCategoryDefinition, GroupingDefinition groupingDefinition, User user,
946 ActionStatus errorMessage, int status, String resourceType, Object... variables) throws Exception {
948 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(errorMessage.name());
949 ExpectedCategoryAudit expectedCatrgoryAuditJavaObject = new ExpectedCategoryAudit();
950 expectedCatrgoryAuditJavaObject.setAction(action);
951 expectedCatrgoryAuditJavaObject.setModifier(user.getFullName() + "(" + user.getUserId() + ")");
952 expectedCatrgoryAuditJavaObject.setCategoryName(categoryDataDefinition.getName());
953 String subCategoryName = (subCategoryDefinition != null ? subCategoryDefinition.getName()
954 : Constants.EMPTY_STRING);
955 expectedCatrgoryAuditJavaObject.setSubCategoryName(subCategoryName);
956 String groupingName = (groupingDefinition != null ? groupingDefinition.getName() : Constants.EMPTY_STRING);
957 expectedCatrgoryAuditJavaObject.setGroupingName(groupingName);
958 expectedCatrgoryAuditJavaObject.setResourceType(resourceType);
959 expectedCatrgoryAuditJavaObject.setStatus(String.valueOf(status));
960 expectedCatrgoryAuditJavaObject.setDesc(errorInfo.getAuditDesc(variables));
961 AuditValidationUtils.validateCategoryAudit(expectedCatrgoryAuditJavaObject, action);
965 private static void categoryAuditSuccessInternal(String action, CategoryDefinition categoryDefinition,
966 SubCategoryDefinition subCategoryDefinition, GroupingDefinition groupingDefinition, User user, int status,
967 String resourceType) throws Exception {
968 // resourceType = Service/Resource/Product
969 ExpectedCategoryAudit expectedCatrgoryAuditJavaObject = new ExpectedCategoryAudit();
970 expectedCatrgoryAuditJavaObject.setAction(action);
971 expectedCatrgoryAuditJavaObject.setModifier(user.getFullName() + "(" + user.getUserId() + ")");
972 expectedCatrgoryAuditJavaObject.setCategoryName(categoryDefinition.getName());
973 String subCategoryName = (subCategoryDefinition != null ? subCategoryDefinition.getName()
974 : Constants.EMPTY_STRING);
975 expectedCatrgoryAuditJavaObject.setSubCategoryName(subCategoryName);
976 String groupingName = (groupingDefinition != null ? groupingDefinition.getName() : Constants.EMPTY_STRING);
977 expectedCatrgoryAuditJavaObject.setGroupingName(groupingName);
978 expectedCatrgoryAuditJavaObject.setResourceType(resourceType);
979 expectedCatrgoryAuditJavaObject.setStatus(String.valueOf(status));
980 expectedCatrgoryAuditJavaObject.setDesc("OK");
981 AuditValidationUtils.validateCategoryAudit(expectedCatrgoryAuditJavaObject, action);
984 ///////////////////////////
986 public enum UserAuditJsonKeysEnum {
987 ACTION("ACTION"), MODIFIER("MODIFIER"), STATUS("STATUS"), DESC("DESCRIPTION"), USER_AFTER(
988 "USER_AFTER"), USER_BEFORE("USER_BEFORE");
989 private String auditJsonKeyName;
991 private UserAuditJsonKeysEnum(String auditJsonKeyName) {
992 this.auditJsonKeyName = auditJsonKeyName;
995 public String getAuditJsonKeyName() {
996 return auditJsonKeyName.toLowerCase();
1000 public static void validateAddUserAudit(ExpectedUserCRUDAudit expectedAddUserAuditJavaObject, String action)
1003 List<Map<String, Object>> actionToList = getAuditListByAction(expectedAddUserAuditJavaObject.getAction(), 1);
1004 Map<String, Object> map = actionToList.get(0);
1005 validateField(map, UserAuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
1006 validateField(map, UserAuditJsonKeysEnum.MODIFIER.getAuditJsonKeyName(),
1007 expectedAddUserAuditJavaObject.getModifier());
1008 validateField(map, UserAuditJsonKeysEnum.USER_AFTER.getAuditJsonKeyName(),
1009 expectedAddUserAuditJavaObject.getUserAfter());
1010 validateField(map, UserAuditJsonKeysEnum.USER_BEFORE.getAuditJsonKeyName(),
1011 expectedAddUserAuditJavaObject.getUserBefore());
1012 validateField(map, UserAuditJsonKeysEnum.STATUS.getAuditJsonKeyName(),
1013 expectedAddUserAuditJavaObject.getStatus());
1014 validateField(map, UserAuditJsonKeysEnum.DESC.getAuditJsonKeyName(), expectedAddUserAuditJavaObject.getDesc());
1018 private static void categoryAuditFailureInternal(String action, CategoryDefinition categoryDataDefinition,
1019 SubCategoryDefinition subCategoryDefinition, GroupingDefinition groupingDefinition, User user,
1020 ActionStatus errorMessage, int status, String resourceType, Object... variables) throws Exception {
1022 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(errorMessage.name());
1023 ExpectedCategoryAudit expectedCatrgoryAuditJavaObject = new ExpectedCategoryAudit();
1024 expectedCatrgoryAuditJavaObject.setAction(action);
1025 expectedCatrgoryAuditJavaObject.setModifier(user.getFullName() + "(" + user.getUserId() + ")");
1026 expectedCatrgoryAuditJavaObject.setCategoryName(categoryDataDefinition.getName());
1027 String subCategoryName = (subCategoryDefinition != null ? subCategoryDefinition.getName()
1028 : Constants.EMPTY_STRING);
1029 expectedCatrgoryAuditJavaObject.setSubCategoryName(subCategoryName);
1030 String groupingName = (groupingDefinition != null ? groupingDefinition.getName() : Constants.EMPTY_STRING);
1031 expectedCatrgoryAuditJavaObject.setGroupingName(groupingName);
1032 expectedCatrgoryAuditJavaObject.setResourceType(resourceType);
1033 expectedCatrgoryAuditJavaObject.setStatus(String.valueOf(status));
1034 expectedCatrgoryAuditJavaObject.setDesc(errorInfo.getAuditDesc(variables));
1035 AuditValidationUtils.validateCategoryAudit(expectedCatrgoryAuditJavaObject, action);
1038 public static void validateGetCategoryHirarchy(ExpectedCategoryAudit expectedCatrgoryAuditJavaObject, String action)
1041 List<Map<String, Object>> actionToList = getAuditListByAction(expectedCatrgoryAuditJavaObject.getAction(), 1);
1042 Map<String, Object> map = actionToList.get(0);
1044 expectedCatrgoryAuditJavaObject.setModifier(getModifierString(expectedCatrgoryAuditJavaObject.getModifierName(),
1045 expectedCatrgoryAuditJavaObject.getModifierUid()));
1046 validateField(map, CategoryAuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
1047 validateField(map, CategoryAuditJsonKeysEnum.MODIFIER.getAuditJsonKeyName(),
1048 expectedCatrgoryAuditJavaObject.getModifier());
1049 validateField(map, CategoryAuditJsonKeysEnum.DETAILS.getAuditJsonKeyName(),
1050 expectedCatrgoryAuditJavaObject.getDetails());
1051 validateField(map, CategoryAuditJsonKeysEnum.STATUS.getAuditJsonKeyName(),
1052 expectedCatrgoryAuditJavaObject.getStatus());
1053 validateField(map, CategoryAuditJsonKeysEnum.DESCRIPTION.getAuditJsonKeyName(),
1054 expectedCatrgoryAuditJavaObject.getDesc());
1058 public static void validateCategoryAudit(ExpectedCategoryAudit expectedCatrgoryAuditJavaObject, String action)
1061 List<Map<String, Object>> actionToList = getAuditListByAction(expectedCatrgoryAuditJavaObject.getAction(), 1);
1062 Map<String, Object> map = actionToList.get(0);
1063 validateField(map, CategoryAuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
1064 validateField(map, CategoryAuditJsonKeysEnum.MODIFIER.getAuditJsonKeyName(),
1065 expectedCatrgoryAuditJavaObject.getModifier());
1066 validateField(map, CategoryAuditJsonKeysEnum.CATEGORY_NAME.getAuditJsonKeyName(),
1067 expectedCatrgoryAuditJavaObject.getCategoryName());
1068 validateField(map, CategoryAuditJsonKeysEnum.SUB_CATEGORY_NAME.getAuditJsonKeyName(),
1069 expectedCatrgoryAuditJavaObject.getSubCategoryName());
1070 validateField(map, CategoryAuditJsonKeysEnum.GROUPING_NAME.getAuditJsonKeyName(),
1071 expectedCatrgoryAuditJavaObject.getGroupingName());
1072 validateField(map, CategoryAuditJsonKeysEnum.RESOURCE_TYPE.getAuditJsonKeyName(),
1073 expectedCatrgoryAuditJavaObject.getResourceType());
1074 validateField(map, CategoryAuditJsonKeysEnum.STATUS.getAuditJsonKeyName(),
1075 expectedCatrgoryAuditJavaObject.getStatus());
1076 validateField(map, CategoryAuditJsonKeysEnum.DESCRIPTION.getAuditJsonKeyName(),
1077 expectedCatrgoryAuditJavaObject.getDesc());
1080 public static void GetCategoryHierarchyAuditSuccess(String action, String componentType, User user, int status)
1082 ExpectedGetUserListAudit expectedGetListOfUsersAuditJavaObject = new ExpectedGetUserListAudit();
1083 expectedGetListOfUsersAuditJavaObject.setAction(action);
1084 expectedGetListOfUsersAuditJavaObject.setStatus(String.valueOf(status));
1085 expectedGetListOfUsersAuditJavaObject.setDesc("OK");
1086 expectedGetListOfUsersAuditJavaObject.setModifier(user.getFullName() + "(" + user.getUserId() + ")");
1087 expectedGetListOfUsersAuditJavaObject.setDetails(componentType.toLowerCase());
1088 validateAuditGetListOfUsersByRoles(expectedGetListOfUsersAuditJavaObject, action);
1091 public static String buildArtifactDataAudit(ArtifactDefinition artifactDefinition) {
1092 StringBuilder sb = new StringBuilder();
1093 if (artifactDefinition.getTimeout() == null) {
1094 artifactDefinition.setTimeout(0);
1096 if (artifactDefinition != null) {
1097 sb.append(artifactDefinition.getArtifactGroupType() == null ? null
1098 : artifactDefinition.getArtifactGroupType().getType()).append(",").append("'")
1099 .append(artifactDefinition.getArtifactLabel()).append("'").append(",")
1100 .append(artifactDefinition.getArtifactType()).append(",")
1101 .append(artifactDefinition.getArtifactName()).append(",").append(artifactDefinition.getTimeout())
1102 .append(",").append(artifactDefinition.getEsId());
1104 if (artifactDefinition.getArtifactVersion() != null) {
1105 sb.append(artifactDefinition.getArtifactVersion());
1110 if (artifactDefinition.getArtifactUUID() != null) {
1111 sb.append(artifactDefinition.getArtifactUUID());
1117 return sb.toString();
1120 public static ExpectedResourceAuditJavaObject expectedMissingInformationAuditObject(String Action,
1121 String resourceUid, ComponentType resourceType) throws FileNotFoundException {
1122 ExpectedResourceAuditJavaObject expectedAudit = new ExpectedResourceAuditJavaObject();
1123 expectedAudit.setAction(Action);
1124 expectedAudit.setResourceName(resourceUid);
1125 expectedAudit.setResourceType(resourceType.getValue());
1126 expectedAudit.setPrevVersion("");
1127 expectedAudit.setCurrVersion("");
1128 expectedAudit.setModifierName("");
1129 expectedAudit.setModifierUid("");
1130 expectedAudit.setPrevState("");
1131 expectedAudit.setCurrState("");
1132 expectedAudit.setPrevArtifactUuid("");
1133 expectedAudit.setCurrArtifactUuid("");
1134 expectedAudit.setArtifactData("");
1135 expectedAudit.setStatus("403");
1136 expectedAudit.setDesc(buildAuditDescription(
1137 new ErrorValidationUtils().parseErrorConfigYaml(ActionStatus.MISSING_INFORMATION.name()),
1138 new ArrayList<String>()));
1139 return expectedAudit;
1142 public static ExpectedResourceAuditJavaObject expectedComponentNotFoundAuditObject(String Action,
1143 String resourceUid, ComponentType resourceType, String artifactUid, User user,
1144 ArrayList<String> notFoundComponent) throws FileNotFoundException {
1147 ExpectedResourceAuditJavaObject expectedAudit = new ExpectedResourceAuditJavaObject();
1148 expectedAudit.setAction(Action);
1149 expectedAudit.setResourceName(resourceUid);
1150 expectedAudit.setResourceType(resourceType.getValue());
1151 expectedAudit.setPrevVersion("");
1152 expectedAudit.setCurrVersion("");
1153 expectedAudit.setModifierName(user.getFirstName() + " " + user.getLastName());
1154 expectedAudit.setModifierUid(user.getUserId());
1155 expectedAudit.setPrevState("");
1156 expectedAudit.setCurrState("");
1157 expectedAudit.setPrevArtifactUuid("");
1158 expectedAudit.setCurrArtifactUuid(artifactUid);
1159 expectedAudit.setArtifactData("");
1160 expectedAudit.setStatus("404");
1162 if (resourceType.getValue() == ComponentType.SERVICE.getValue()) {
1163 desc = buildAuditDescription(
1164 new ErrorValidationUtils().parseErrorConfigYaml(ActionStatus.SERVICE_NOT_FOUND.name()),
1166 } else if (resourceType.getValue() == ComponentType.RESOURCE.getValue())
1167 desc = buildAuditDescription(
1168 new ErrorValidationUtils().parseErrorConfigYaml(ActionStatus.RESOURCE_NOT_FOUND.name()),
1171 expectedAudit.setDesc(desc);
1172 return expectedAudit;
1175 public static ExpectedResourceAuditJavaObject expectedArtifactNotFoundAuditObject(String Action, String resourceUid,
1176 ComponentType resourceType, String artifactUid, User user, String currState, String currVersion)
1177 throws FileNotFoundException {
1180 ExpectedResourceAuditJavaObject expectedAudit = new ExpectedResourceAuditJavaObject();
1181 expectedAudit.setAction(Action);
1182 expectedAudit.setResourceName(resourceUid);
1183 expectedAudit.setResourceType(resourceType.getValue());
1184 expectedAudit.setPrevVersion("");
1185 expectedAudit.setCurrVersion(currVersion);
1186 expectedAudit.setModifierName(user.getFirstName() + " " + user.getLastName());
1187 expectedAudit.setModifierUid(user.getUserId());
1188 expectedAudit.setPrevState("");
1189 expectedAudit.setCurrState(currState);
1190 expectedAudit.setPrevArtifactUuid("");
1191 expectedAudit.setCurrArtifactUuid(artifactUid);
1192 expectedAudit.setArtifactData("");
1193 expectedAudit.setStatus("404");
1195 desc = buildAuditDescription(
1196 new ErrorValidationUtils().parseErrorConfigYaml(ActionStatus.ARTIFACT_NOT_FOUND.name()),
1199 expectedAudit.setDesc(desc);
1200 return expectedAudit;
1203 public static ExpectedResourceAuditJavaObject expectedArtifactNotFoundAuditObject(String Action,
1204 String resourceName, ComponentType resourceType, String artifactUid, LifecycleStateEnum lifecycle,
1205 User user, String currVersion) throws FileNotFoundException {
1208 ExpectedResourceAuditJavaObject expectedAudit = new ExpectedResourceAuditJavaObject();
1209 expectedAudit.setAction(Action);
1210 expectedAudit.setResourceName(resourceName);
1211 expectedAudit.setResourceType(resourceType.getValue());
1212 expectedAudit.setPrevVersion("");
1213 expectedAudit.setCurrVersion(currVersion);
1214 expectedAudit.setModifierName(user.getFirstName() + " " + user.getLastName());
1215 expectedAudit.setModifierUid(user.getUserId());
1216 expectedAudit.setPrevState("");
1217 expectedAudit.setCurrState(lifecycle.name());
1218 expectedAudit.setPrevArtifactUuid("");
1219 expectedAudit.setCurrArtifactUuid(artifactUid);
1220 expectedAudit.setArtifactData("");
1221 expectedAudit.setStatus("404");
1223 desc = buildAuditDescription(
1224 new ErrorValidationUtils().parseErrorConfigYaml(ActionStatus.ARTIFACT_NOT_FOUND.name()),
1225 new ArrayList<String>());
1227 expectedAudit.setDesc(desc);
1228 return expectedAudit;
1231 public static ExpectedResourceAuditJavaObject expectedRestrictedOperationAuditObject(String Action,
1232 String resourceNameOrUid, ComponentType resourceType, String artifactUid, User user, String currVersion,
1233 String currState) throws FileNotFoundException {
1236 ExpectedResourceAuditJavaObject expectedAudit = new ExpectedResourceAuditJavaObject();
1237 expectedAudit.setAction(Action);
1238 expectedAudit.setResourceName(resourceNameOrUid);
1239 expectedAudit.setResourceType(resourceType.getValue());
1240 expectedAudit.setPrevVersion("");
1241 expectedAudit.setCurrVersion(currVersion);
1242 expectedAudit.setModifierName(user.getFirstName() + " " + user.getLastName());
1243 expectedAudit.setModifierUid(user.getUserId());
1244 expectedAudit.setPrevState("");
1245 expectedAudit.setCurrState(currState);
1246 expectedAudit.setPrevArtifactUuid("");
1247 expectedAudit.setCurrArtifactUuid(artifactUid);
1248 expectedAudit.setArtifactData("");
1249 expectedAudit.setStatus("409");
1251 desc = buildAuditDescription(
1252 new ErrorValidationUtils().parseErrorConfigYaml(ActionStatus.RESTRICTED_OPERATION.name()),
1253 new ArrayList<String>());
1255 expectedAudit.setDesc(desc);
1256 return expectedAudit;
1259 public static ExpectedResourceAuditJavaObject expectedInvalidContentAuditObject(String Action, String resourceName,
1260 ComponentType resourceType, String artifactUid, User user, String currVersion, String currState,
1261 ArrayList<String> invalidContentList) throws FileNotFoundException {
1262 return expectedInvalidContentAuditObject(ActionStatus.INVALID_CONTENT, Action, resourceName, resourceType,
1263 artifactUid, user, currVersion, currState, invalidContentList);
1266 public static ExpectedResourceAuditJavaObject expectedInvalidContentAuditObject(ActionStatus actionStatus,
1267 String Action, String resourceName, ComponentType resourceType, String artifactUid, User user,
1268 String currVersion, String currState, ArrayList<String> invalidContentList) throws FileNotFoundException {
1271 ExpectedResourceAuditJavaObject expectedAudit = new ExpectedResourceAuditJavaObject();
1272 expectedAudit.setAction(Action);
1273 expectedAudit.setResourceName(resourceName);
1274 expectedAudit.setResourceType(resourceType.getValue());
1275 expectedAudit.setPrevVersion("");
1276 expectedAudit.setCurrVersion(currVersion);
1277 expectedAudit.setModifierName(user.getFirstName() + " " + user.getLastName());
1278 expectedAudit.setModifierUid(user.getUserId());
1279 expectedAudit.setPrevState("");
1280 expectedAudit.setCurrState(currState);
1281 expectedAudit.setPrevArtifactUuid("");
1282 expectedAudit.setCurrArtifactUuid(artifactUid);
1283 expectedAudit.setArtifactData("");
1284 expectedAudit.setStatus("400");
1286 desc = buildAuditDescription(new ErrorValidationUtils().parseErrorConfigYaml(actionStatus.name()),
1287 invalidContentList);
1289 expectedAudit.setDesc(desc);
1290 return expectedAudit;
1293 public static ExpectedResourceAuditJavaObject expectedSuccessAuditObject(String Action, String resourceName,
1294 ComponentType resourceType, ArtifactReqDetails artifactReq, User user, String currVersion, String currState,
1295 String prevArtifactUuid) throws FileNotFoundException {
1296 ExpectedResourceAuditJavaObject expectedAudit = new ExpectedResourceAuditJavaObject();
1297 expectedAudit.setAction(Action);
1298 expectedAudit.setResourceName(resourceName);
1299 expectedAudit.setResourceType(resourceType.getValue());
1300 expectedAudit.setPrevVersion("");
1301 expectedAudit.setCurrVersion(currVersion);
1302 expectedAudit.setModifierName(user.getFirstName() + " " + user.getLastName());
1303 expectedAudit.setModifierUid(user.getUserId());
1304 expectedAudit.setPrevState("");
1305 expectedAudit.setCurrState(currState);
1306 expectedAudit.setPrevArtifactUuid(prevArtifactUuid);
1307 expectedAudit.setCurrArtifactUuid(artifactReq.getUniqueId());
1309 .setArtifactData(buildArtifactDataAudit(ArtifactUtils.convertArtifactReqToDefinition(artifactReq)));
1310 expectedAudit.setStatus("200");
1311 expectedAudit.setDesc("OK");
1312 return expectedAudit;
1315 public static JSONObject filterAuditByUuid(String action, String uuid) throws Exception {
1316 Map<String, String> actionMap = new HashMap<String, String>();
1317 actionMap.put("ACTION", action);
1318 JSONObject actionJsonObject = new JSONObject(actionMap);
1319 Map<String, String> uuidMap = new HashMap<String, String>();
1320 uuidMap.put("SERVICE_INSTANCE_ID", uuid);
1321 JSONObject uuidJsonObject = new JSONObject(uuidMap);
1323 List<JSONObject> filters = new ArrayList<JSONObject>(Arrays.asList(actionJsonObject, uuidJsonObject));
1324 JSONObject body = buildElasticQueryBody(filters);
1328 public static void validateAudit(ExpectedResourceAuditJavaObject resourceAuditJavaObject, String action)
1330 List<Map<String, Object>> actionToList = getAuditListByAction(resourceAuditJavaObject.getAction(), 1);
1331 Map<String, Object> map2 = actionToList.get(0);
1332 validateField(map2, AuditJsonKeysEnum.ACTION.getAuditJsonKeyName(), action);
1333 validateField(map2, AuditJsonKeysEnum.RESOURCE_NAME.getAuditJsonKeyName(),
1334 resourceAuditJavaObject.getResourceName());
1335 validateField(map2, AuditJsonKeysEnum.RESOURCE_TYPE.getAuditJsonKeyName(),
1336 resourceAuditJavaObject.getResourceType());
1337 validateField(map2, AuditJsonKeysEnum.PREV_VERSION.getAuditJsonKeyName(),
1338 resourceAuditJavaObject.getPrevVersion());
1339 validateField(map2, AuditJsonKeysEnum.CURR_VERSION.getAuditJsonKeyName(),
1340 resourceAuditJavaObject.getCurrVersion());
1341 validateField(map2, AuditJsonKeysEnum.MODIFIER.getAuditJsonKeyName(), resourceAuditJavaObject.getMODIFIER());
1342 validateField(map2, AuditJsonKeysEnum.PREV_STATE.getAuditJsonKeyName(), resourceAuditJavaObject.getPrevState());
1343 validateField(map2, AuditJsonKeysEnum.CURR_STATE.getAuditJsonKeyName(), resourceAuditJavaObject.getCurrState());
1344 validateField(map2, AuditJsonKeysEnum.STATUS.getAuditJsonKeyName(), resourceAuditJavaObject.getStatus());
1345 validateField(map2, AuditJsonKeysEnum.DESCRIPTION.getAuditJsonKeyName(), resourceAuditJavaObject.getDesc());
1346 validateField(map2, AuditJsonKeysEnum.COMMENT.getAuditJsonKeyName(), resourceAuditJavaObject.getComment());
1349 ////// service audit validation/////////////////////
1351 public static ExpectedResourceAuditJavaObject constructFieldsForAuditValidation(ServiceReqDetails serviceReqDetails,
1352 String serviceVersion, User sdncUserDetails) {
1354 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject();
1356 expectedResourceAuditJavaObject.setAction("Create");
1357 expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId());
1358 String userFirstLastName = sdncUserDetails.getFirstName() + " " + sdncUserDetails.getLastName();
1359 expectedResourceAuditJavaObject.setModifierName(userFirstLastName);
1360 expectedResourceAuditJavaObject.setStatus("200");
1361 expectedResourceAuditJavaObject.setDesc("OK");
1362 expectedResourceAuditJavaObject.setResourceName(serviceReqDetails.getName());
1363 expectedResourceAuditJavaObject.setResourceType("Service");
1364 expectedResourceAuditJavaObject.setPrevVersion(String.valueOf(Float.parseFloat(serviceVersion) - 0.1f));
1365 expectedResourceAuditJavaObject.setCurrVersion(serviceVersion);
1366 expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
1367 expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString());
1368 expectedResourceAuditJavaObject.setComment(null);
1370 return expectedResourceAuditJavaObject;
1374 public static ExpectedResourceAuditJavaObject constructFieldsForAuditValidation(ServiceReqDetails serviceReqDetails,
1375 String serviceVersion, User sdncUserDetails, ActionStatus errorStatus, List<String> variables)
1376 throws FileNotFoundException {
1378 ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = constructFieldsForAuditValidation(
1379 serviceReqDetails, serviceVersion, sdncUserDetails);
1380 ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(errorStatus.name());
1382 expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString());
1383 String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
1384 expectedResourceAuditJavaObject.setDesc(auditDesc);
1386 return expectedResourceAuditJavaObject;