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 com.google.gson.*;
24 import org.apache.commons.lang.StringUtils;
25 import org.openecomp.sdc.be.dao.utils.UserStatusEnum;
26 import org.openecomp.sdc.be.model.User;
27 import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo;
28 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
29 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
30 import org.openecomp.sdc.ci.tests.users.AddUserAuditMessageInfo;
31 import org.openecomp.sdc.ci.tests.users.UserAuditJavaObject;
32 import org.openecomp.sdc.ci.tests.utils.DbUtils;
33 import org.openecomp.sdc.ci.tests.utils.Utils;
35 import java.util.List;
37 import static org.testng.AssertJUnit.assertEquals;
38 import static org.testng.AssertJUnit.assertTrue;
40 public class UserValidationUtils {
41 public static void compareExpectedAndActualUsers(User expected, User actual) {
43 String actualFirstName = actual.getFirstName();
44 String expectedFirstName = expected.getFirstName();
45 assertEquals("check user first name - ", expectedFirstName, actualFirstName);
47 String actualLastName = actual.getLastName();
48 String expectedLastName = expected.getLastName();
49 assertEquals("check user last name - ", expectedLastName, actualLastName);
51 String actualUserId = actual.getUserId();
52 String expectedUserId = expected.getUserId();
53 assertEquals("check user userId - ", expectedUserId, actualUserId);
55 String actualEmail = actual.getEmail();
56 String expectedEmail = expected.getEmail();
57 assertEquals("check user email - ", expectedEmail, actualEmail);
59 Long actualLastLoginTime = actual.getLastLoginTime();
60 Long expectedLastLoginTime = expected.getLastLoginTime();
61 assertEquals("check user last login time - ", expectedLastLoginTime, actualLastLoginTime);
63 String actualRole = actual.getRole();
64 if (expected.getRole() == null) {
65 String expectedRole = UserRoleEnum.DESIGNER.name();
66 assertEquals("check user role - ", expectedRole, actualRole);
68 String expectedRole = expected.getRole();
69 assertEquals("check user role - ", expectedRole, actualRole);
72 UserStatusEnum actualStatus = expected.getStatus();
73 UserStatusEnum expectedStatus = expected.getStatus();
74 assertEquals("check user status - ", expectedStatus, actualStatus);
77 public static void validateDeleteUserAuditMessage(User sdncUserDetails, User sdncModifierDetails,
78 String responseCode, String responseMessage, AddUserAuditMessageInfo addUserAuditMessageInfo) {
79 String action = "DeleteUser";
80 validateUserAuditMessage(sdncUserDetails, sdncModifierDetails, responseCode, responseMessage,
81 addUserAuditMessageInfo, action);
85 private static void validateUserAuditMessage(User sdncUserDetails, User sdncModifierDetails, String responseCode,
86 String responseMessage, AddUserAuditMessageInfo addUserAuditMessageInfo, String expectedAction) {
88 assertEquals("check audit action - ", expectedAction, addUserAuditMessageInfo.getACTION());
90 // String expectedModifierFirstLastName =
91 // sdncModifierDetails.getFirstName() + " " +
92 // sdncModifierDetails.getLastName();
93 // assertEquals("check audit modifier name - ",
94 // expectedModifierFirstLastName,
95 // addUserAuditMessageInfo.getMODIFIER_NAME());
96 String fullName = sdncModifierDetails.getFullName();
97 if (sdncModifierDetails.getFullName().equals(" ")) {
100 String expectedModifierId = fullName + "(" + sdncModifierDetails.getUserId() + ")";
101 assertEquals("check audit modifier uid - ", expectedModifierId, addUserAuditMessageInfo.getMODIFIER());
103 String expectedUserFirstLastName = sdncUserDetails.getFirstName() + " " + sdncUserDetails.getLastName();
104 if (expectedUserFirstLastName.equals("null null")) {
105 expectedUserFirstLastName = "";
108 String email = (sdncUserDetails.getEmail() == null) ? "" : sdncUserDetails.getEmail();
109 String role = (sdncUserDetails.getRole() == null) ? "DESIGNER" : sdncUserDetails.getRole();
111 String formatedUser = String.format("%s,%s,%s,%s", sdncUserDetails.getUserId(), expectedUserFirstLastName,
115 // String expectedUserFirstLastName = sdncUserDetails.getFirstName() + "
116 // " + sdncUserDetails.getLastName();
117 // if (expectedUserFirstLastName.equals("null null")) {
118 // expectedUserFirstLastName = "";
121 // String expectedUserFirstLastName = "";
122 // expectedUserFirstLastName += sdncUserDetails.getFirstName() == null ?
123 // "" : sdncUserDetails.getFirstName();
124 // String lastName = sdncUserDetails.getLastName() == null ? "" :
125 // sdncUserDetails.getLastName();
126 // if (expectedUserFirstLastName.isEmpty()) {
127 // expectedUserFirstLastName = lastName;
129 // expectedUserFirstLastName += " " + lastName;
132 assertEquals("check audit user name - ", formatedUser, addUserAuditMessageInfo.getUSER());
134 // String expectedUserUid = sdncUserDetails.getUserId();
135 // assertEquals("check audit user uid - ", expectedUserUid,
136 // addUserAuditMessageInfo.getUSER_UID());
138 // String expectedUserEmail = sdncUserDetails.getEmail() == null ? "" :
139 // sdncUserDetails.getEmail();
140 // //TODO: esofer check with Andrey. Audit return "" but in user we have
142 // assertEquals("check audit user email - ", expectedUserEmail,
143 // addUserAuditMessageInfo.getUSER_EMAIL());
145 // String expectedUserRole = sdncUserDetails.getRole();
146 // if (expectedUserRole ==null){
147 // expectedUserRole = "DESIGNER";
148 // assertEquals("check audit user role - ", expectedUserRole,
149 // addUserAuditMessageInfo.getUSER_ROLE());
151 // assertEquals("check audit user role - ", expectedUserRole,
152 // addUserAuditMessageInfo.getUSER_ROLE());
155 String expectedUserResponseCode = responseCode;
156 assertEquals("check audit user response code - ", expectedUserResponseCode,
157 addUserAuditMessageInfo.getSTATUS());
159 String expectedUserResponseMessage = responseMessage;
160 assertEquals("check audit user response message - ", expectedUserResponseMessage,
161 addUserAuditMessageInfo.getDESC());
165 public static void validateDataAgainstAuditDB_access(User sdncUserDetails, UserAuditJavaObject auditJavaObject,
166 RestResponse restResponse, ErrorInfo errorInfo, List<String> variables) {
168 validateAuditDataAgainstAuditDbInAccess(sdncUserDetails, auditJavaObject, restResponse, errorInfo, variables);
172 public static void validateAuditDataAgainstAuditDbInAccess(User sdncUserDetails,
173 UserAuditJavaObject auditJavaObject, RestResponse restResponse, ErrorInfo errorInfo,
174 List<String> variables) {
179 assertEquals("ACTION- ", expected, auditJavaObject.getACTION());
181 if (sdncUserDetails.getFirstName() != StringUtils.EMPTY && sdncUserDetails.getLastName() != StringUtils.EMPTY) {
182 expected = sdncUserDetails.getFirstName() + " " + sdncUserDetails.getLastName();
184 expected = StringUtils.EMPTY;
186 String formatedUser = String.format("%s(%s)", expected, sdncUserDetails.getUserId());
188 "check audit user: expected start with - " + formatedUser + " ,actual - " + auditJavaObject.getUSER(),
189 auditJavaObject.getUSER().startsWith(formatedUser));
191 expected = restResponse.getErrorCode().toString();
192 assertEquals("check audit user status code - ", expected, auditJavaObject.getSTATUS());
194 if (restResponse.getErrorCode() == 200 || restResponse.getErrorCode() == 201) {
195 expected = errorInfo.getMessage();
197 expected = AuditValidationUtils.buildAuditDescription(errorInfo, variables);
200 assertEquals("check audit user desc - ", expected, auditJavaObject.getDESC());
202 // expected = sdncUserDetails.getUserId();
203 // assertEquals(expected, auditJavaObject.getUSER());
207 public static void validateUserDetailsOnResponse(User sdncUserDetails, String userDetailsOnResponse) {
209 String actualFirstName = Utils.getJsonObjectValueByKey(userDetailsOnResponse, "firstName");
210 String expectedFirstName = sdncUserDetails.getFirstName();
211 assertEquals("check user first name - ", expectedFirstName, actualFirstName);
213 String actualLastName = Utils.getJsonObjectValueByKey(userDetailsOnResponse, "lastName");
214 String expectedLastName = sdncUserDetails.getLastName();
215 assertEquals("check user last name - ", expectedLastName, actualLastName);
217 String actualUserId = Utils.getJsonObjectValueByKey(userDetailsOnResponse, "userId");
218 String expectedUserId = sdncUserDetails.getUserId();
219 assertEquals("check user userId - ", expectedUserId, actualUserId);
221 String actualEmail = Utils.getJsonObjectValueByKey(userDetailsOnResponse, "email");
222 String expectedEmail = sdncUserDetails.getEmail();
223 assertEquals("check user email - ", expectedEmail, actualEmail);
225 String actualRole = Utils.getJsonObjectValueByKey(userDetailsOnResponse, "role");
226 if (sdncUserDetails.getRole() == null) {
227 String expectedRole = UserRoleEnum.DESIGNER.name();
228 assertEquals("check user role - ", expectedRole, actualRole);
230 String expectedRole = sdncUserDetails.getRole();
231 assertEquals("check user role - ", expectedRole, actualRole);
234 String actualStatus = Utils.getJsonObjectValueByKey(userDetailsOnResponse, "status");
235 String expectedStatus = sdncUserDetails.getStatus().name();
236 assertEquals("check user status - ", expectedStatus, actualStatus);
240 public static AddUserAuditMessageInfo getAddUserAuditMessage(String action) throws Exception {
242 Gson gson = new Gson();
243 String index = "auditingevents*";
244 String type = "useradminevent";
245 String pattern = "/_search?q=ACTION:\"" + action + "\"";
246 String auditingMessage = DbUtils.retrieveAuditMessagesByPattern(pattern);
247 // String auditingMessage = retrieveAuditMessageByIndexType(index, type,
249 JsonElement jElement = new JsonParser().parse(auditingMessage);
250 JsonObject jObject = jElement.getAsJsonObject();
251 JsonObject hitsObject = (JsonObject) jObject.get("hits");
252 JsonArray hitsArray = (JsonArray) hitsObject.get("hits");
253 // for (int i = 0; i < hitsArray.size();){
254 if (hitsArray != null) {
255 JsonObject jHitObject = (JsonObject) hitsArray.get(0);
256 JsonObject jSourceObject = (JsonObject) jHitObject.get("_source");
257 AddUserAuditMessageInfo addUserAuditMessageInfo = new AddUserAuditMessageInfo();
258 addUserAuditMessageInfo = gson.fromJson(jSourceObject, AddUserAuditMessageInfo.class);
259 return addUserAuditMessageInfo;
265 public static void validateAddUserAuditMessage(User sdncUserDetails, User sdncModifierDetails, String responseCode,
266 String responseMessage, AddUserAuditMessageInfo addUserAuditMessageInfo) {
268 String action = "AddUser";
269 validateUserAuditMessage(sdncUserDetails, sdncModifierDetails, responseCode, responseMessage,
270 addUserAuditMessageInfo, action);