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.rest;
23 import com.google.gson.Gson;
24 import org.apache.commons.lang.StringUtils;
25 import org.openecomp.sdc.be.model.User;
26 import org.openecomp.sdc.ci.tests.api.Urls;
27 import org.openecomp.sdc.ci.tests.config.Config;
28 import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum;
29 import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
30 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
31 import org.openecomp.sdc.ci.tests.run.StartTest;
32 import org.openecomp.sdc.ci.tests.utils.Utils;
33 import org.slf4j.Logger;
34 import org.slf4j.LoggerFactory;
36 import java.io.IOException;
37 import java.util.HashMap;
40 public class UserRestUtils extends BaseRestUtils {
42 static Gson gson = new Gson();
44 static Logger logger = LoggerFactory.getLogger(UserRestUtils.class.getName());
45 static String contentTypeHeaderData = "application/json";
46 static String acceptHeaderDate = "application/json";
48 public UserRestUtils() {
51 StartTest.enableLogger();
54 public static RestResponse createUser(User sdncUserDetails, User sdncModifierDetails) throws IOException {
56 Config config = Utils.getConfig();
58 Map<String, String> headersMap = new HashMap<String, String>();
59 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
60 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
61 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
63 String userBodyJson = gson.toJson(sdncUserDetails);
64 HttpRequest http = new HttpRequest();
65 String url = String.format(Urls.CREATE_USER, config.getCatalogBeHost(), config.getCatalogBePort());
67 logger.debug("Send POST request to create user: {}", url);
68 logger.debug("User body: {}", userBodyJson);
69 logger.debug("User headers: {}", headersMap);
70 RestResponse sendCreateUserRequest = http.httpSendPost(url, userBodyJson, headersMap);
72 return sendCreateUserRequest;
76 public static RestResponse deactivateUser(User sdncUserDetails, User sdncModifierDetails) throws IOException {
77 return deleteUser(sdncUserDetails, sdncModifierDetails, true);
80 public static RestResponse deActivateUser(User sdncUserDetails, User sdncModifierDetails) throws IOException {
81 return deleteUser(sdncUserDetails, sdncModifierDetails, false);
84 public static RestResponse deleteUser(User sdncUserDetails, User sdncModifierDetails, boolean isForceDelete)
87 Config config = Utils.getConfig();
89 Map<String, String> headersMap = new HashMap<String, String>();
90 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
91 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
92 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
94 headersMap.put(User.FORCE_DELETE_HEADER_FLAG, User.FORCE_DELETE_HEADER_FLAG);
97 HttpRequest http = new HttpRequest();
98 String url = String.format(Urls.DELETE_USER, config.getCatalogBeHost(), config.getCatalogBePort(),
99 sdncUserDetails.getUserId());
100 RestResponse sendDeleteUserRequest = http.httpSendDelete(url, headersMap);
101 return sendDeleteUserRequest;
105 public static RestResponse updateUser(User sdncUserDetails, User sdncModifierDetails)
106 throws IOException, CloneNotSupportedException {
108 Config config = Utils.getConfig();
109 User user = new User(sdncModifierDetails);
111 Map<String, String> headersMap = new HashMap<String, String>();
112 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
113 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
114 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
116 user.setUserId(StringUtils.EMPTY);
117 user.setRole(StringUtils.EMPTY);
119 Gson gson = new Gson();
120 String userBodyJson = gson.toJson(user);
121 logger.debug("userBodyJson: {}", userBodyJson);
122 HttpRequest http = new HttpRequest();
123 String url = String.format(Urls.UPDATE_USER, config.getCatalogBeHost(), config.getCatalogBePort(),
124 sdncModifierDetails.getUserId());
125 RestResponse sendUpdateUserRequest = http.httpSendPost(url, userBodyJson, headersMap);
127 return sendUpdateUserRequest;
131 public static RestResponse updateUserRole(User sdncUserDetails, User sdncModifierDetails, String userIdToUpdate)
134 Config config = Utils.getConfig();
136 Map<String, String> headersMap = new HashMap<String, String>();
137 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
138 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
139 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
141 Gson gson = new Gson();
142 String userBodyJson = gson.toJson(sdncUserDetails);
143 logger.debug("userBodyJson: {}", userBodyJson);
144 HttpRequest http = new HttpRequest();
145 String url = String.format(Urls.UPDATE_USER_ROLE, config.getCatalogBeHost(), config.getCatalogBePort(),
147 RestResponse sendUpdateUserRequest = http.httpSendPost(url, userBodyJson, headersMap);
149 return sendUpdateUserRequest;
153 public static RestResponse getUser(User sdncUserDetails, User sdncModifierDetails) throws IOException {
155 Config config = Utils.getConfig();
157 Map<String, String> headersMap = new HashMap<String, String>();
158 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
159 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
160 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
161 HttpRequest http = new HttpRequest();
162 String url = String.format(Urls.GET_USER, config.getCatalogBeHost(), config.getCatalogBePort(),
163 sdncUserDetails.getUserId());
164 RestResponse sendGetUserRequest = http.httpSendGet(url, headersMap);
165 return sendGetUserRequest;
169 public static RestResponse getUserRole(User sdncUserDetails, User sdncModifierDetails) throws IOException {
171 Config config = Utils.getConfig();
173 Map<String, String> headersMap = new HashMap<>();
174 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
175 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
176 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
177 HttpRequest http = new HttpRequest();
178 String url = String.format(Urls.GET_USER_ROLE, config.getCatalogBeHost(), config.getCatalogBePort(),
179 sdncUserDetails.getUserId());
180 RestResponse sendGetUserRequest = http.httpSendGet(url, headersMap);
181 return sendGetUserRequest;
187 public static RestResponse getAllAdminUsers(User sdncModifierDetails) throws IOException {
189 Config config = Utils.getConfig();
191 Map<String, String> headersMap = new HashMap<>();
192 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
193 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
194 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
196 // Gson gson = new Gson();
197 // String userBodyJson = gson.toJson(sdncModifierDetails);
198 // System.out.println(userBodyJson);
199 HttpRequest http = new HttpRequest();
200 String url = String.format(Urls.GET_ALL_ADMIN_USERS, config.getCatalogBeHost(), config.getCatalogBePort());
201 logger.debug("Send following url: {} and headers: {}",url, headersMap.toString());
202 RestResponse sendGetUserRequest = http.httpSendGet(url, headersMap);
204 return sendGetUserRequest;
209 public static RestResponse getUsersByRoles(User sdncModifierDetails, String roles) throws IOException {
211 Config config = Utils.getConfig();
212 Map<String, String> headersMap = new HashMap<String, String>();
213 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
214 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
215 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
216 HttpRequest http = new HttpRequest();
219 url = String.format(Urls.GET_ALL_USERS, config.getCatalogBeHost(), config.getCatalogBePort());
221 url = String.format(Urls.GET_USERS_BY_ROLES, config.getCatalogBeHost(), config.getCatalogBePort(), roles);
224 logger.debug("Send following url: {} and headers: {}",url, headersMap.toString());
225 RestResponse sendGetUserRequest = http.httpSendGet(url, headersMap);
226 return sendGetUserRequest;
229 public static RestResponse getUsersByRolesHttpCspAtuUidIsMissing(User sdncModifierDetails, String roles)
232 Config config = Utils.getConfig();
233 Map<String, String> headersMap = new HashMap<String, String>();
234 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
235 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
236 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
237 headersMap.remove("USER_ID");
238 HttpRequest http = new HttpRequest();
239 String url = String.format(Urls.GET_USERS_BY_ROLES, config.getCatalogBeHost(), config.getCatalogBePort(),
242 "Send following url without USER_ID header : " + url + " headers: " + headersMap.toString());
244 RestResponse sendGetUserRequest = http.httpSendGet(url, headersMap);
245 return sendGetUserRequest;
248 public static RestResponse authorizedUserTowardsCatalogBe(User sdncUserDetails) throws IOException {
250 Map<String, String> headersMap = new HashMap<String, String>();
251 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), "application/json");
252 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), "application/json");
253 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncUserDetails.getUserId());
254 if (sdncUserDetails.getFirstName() != null) {
255 headersMap.put(HttpHeaderEnum.HTTP_CSP_FIRSTNAME.getValue(), sdncUserDetails.getFirstName());
257 if (sdncUserDetails.getLastName() != null) {
258 headersMap.put(HttpHeaderEnum.HTTP_CSP_LASTNAME.getValue(), sdncUserDetails.getLastName());
260 if (sdncUserDetails.getEmail() != null) {
261 headersMap.put(HttpHeaderEnum.HTTP_CSP_EMAIL.getValue(), sdncUserDetails.getEmail());
264 logger.debug("headersMap: {}", headersMap.toString());
266 Config config = Utils.getConfig();
267 HttpRequest http = new HttpRequest();
268 String url = String.format(Urls.AUTHORIZE_USER, config.getCatalogBeHost(), config.getCatalogBePort());
269 logger.debug("Send GET request to login as seal user : {}", url);
270 return http.httpSendGet(url, headersMap);
273 public static RestResponse authorizedUserTowardsCatalogBeQA(User sdncUserDetails) throws IOException {
275 Map<String, String> headersMap = new HashMap<String, String>();
276 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), "application/json");
277 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), "application/json");
278 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncUserDetails.getUserId());
279 if (sdncUserDetails.getFirstName() != null) {
280 headersMap.put(HttpHeaderEnum.HTTP_CSP_FIRSTNAME.getValue(), sdncUserDetails.getFirstName());
282 if (sdncUserDetails.getLastName() != null) {
283 headersMap.put(HttpHeaderEnum.HTTP_CSP_LASTNAME.getValue(), sdncUserDetails.getLastName());
285 if (sdncUserDetails.getEmail() != null) {
286 headersMap.put(HttpHeaderEnum.HTTP_CSP_EMAIL.getValue(), sdncUserDetails.getEmail());
289 logger.debug("headersMap: {}", headersMap.toString());
291 Config config = Utils.getConfig();
292 HttpRequest http = new HttpRequest();
293 String url = String.format(Urls.AUTHORIZE_USER, config.getCatalogBeHost(), config.getCatalogBePort());
294 logger.debug("Send GET request to login as seal user : {}", url);
295 return http.httpSendGet(url, headersMap);