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.onap.sdc.backend.ci.tests.utils.rest;
23 import com.google.gson.Gson;
24 import org.apache.commons.lang3.StringUtils;
25 import org.onap.sdc.backend.ci.tests.datatypes.http.HttpHeaderEnum;
26 import org.onap.sdc.backend.ci.tests.datatypes.http.HttpRequest;
27 import org.onap.sdc.backend.ci.tests.datatypes.http.RestResponse;
28 import org.openecomp.sdc.be.model.User;
29 import org.onap.sdc.backend.ci.tests.api.Urls;
30 import org.onap.sdc.backend.ci.tests.config.Config;
31 import org.onap.sdc.backend.ci.tests.utils.Utils;
32 import org.slf4j.Logger;
33 import org.slf4j.LoggerFactory;
35 import java.io.IOException;
36 import java.util.HashMap;
39 public class UserRestUtils extends BaseRestUtils {
41 static Gson gson = new Gson();
43 static Logger logger = LoggerFactory.getLogger(UserRestUtils.class.getName());
44 static String contentTypeHeaderData = "application/json";
45 static String acceptHeaderDate = "application/json";
47 public UserRestUtils() {
51 public static RestResponse createUser(User sdncUserDetails, User sdncModifierDetails) throws IOException {
53 Config config = Utils.getConfig();
55 Map<String, String> headersMap = new HashMap<String, String>();
56 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
57 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
58 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
60 String userBodyJson = gson.toJson(sdncUserDetails);
61 HttpRequest http = new HttpRequest();
62 String url = String.format(Urls.CREATE_USER, config.getCatalogBeHost(), config.getCatalogBePort());
64 logger.debug("Send POST request to create user: {}", url);
65 logger.debug("User body: {}", userBodyJson);
66 logger.debug("User headers: {}", headersMap);
67 RestResponse sendCreateUserRequest = http.httpSendPost(url, userBodyJson, headersMap);
69 return sendCreateUserRequest;
73 public static RestResponse deactivateUser(User sdncUserDetails, User sdncModifierDetails) throws IOException {
74 return deleteUser(sdncUserDetails, sdncModifierDetails, true);
77 public static RestResponse deActivateUser(User sdncUserDetails, User sdncModifierDetails) throws IOException {
78 return deleteUser(sdncUserDetails, sdncModifierDetails, false);
81 public static RestResponse deleteUser(User sdncUserDetails, User sdncModifierDetails, boolean isForceDelete)
84 Config config = Utils.getConfig();
86 Map<String, String> headersMap = new HashMap<String, String>();
87 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
88 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
89 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
91 headersMap.put(User.FORCE_DELETE_HEADER_FLAG, User.FORCE_DELETE_HEADER_FLAG);
94 HttpRequest http = new HttpRequest();
95 String url = String.format(Urls.DELETE_USER, config.getCatalogBeHost(), config.getCatalogBePort(),
96 sdncUserDetails.getUserId());
97 RestResponse sendDeleteUserRequest = http.httpSendDelete(url, headersMap);
98 return sendDeleteUserRequest;
102 public static RestResponse updateUser(User sdncUserDetails, User sdncModifierDetails)
103 throws IOException, CloneNotSupportedException {
105 Config config = Utils.getConfig();
106 User user = new User(sdncModifierDetails);
108 Map<String, String> headersMap = new HashMap<String, String>();
109 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
110 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
111 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
113 user.setUserId(StringUtils.EMPTY);
114 user.setRole(StringUtils.EMPTY);
116 Gson gson = new Gson();
117 String userBodyJson = gson.toJson(user);
118 logger.debug("userBodyJson: {}", userBodyJson);
119 HttpRequest http = new HttpRequest();
120 String url = String.format(Urls.UPDATE_USER, config.getCatalogBeHost(), config.getCatalogBePort(),
121 sdncModifierDetails.getUserId());
122 RestResponse sendUpdateUserRequest = http.httpSendPost(url, userBodyJson, headersMap);
124 return sendUpdateUserRequest;
128 public static RestResponse updateUserRole(User sdncUserDetails, User sdncModifierDetails, String userIdToUpdate)
131 Config config = Utils.getConfig();
133 Map<String, String> headersMap = new HashMap<String, String>();
134 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
135 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
136 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
138 Gson gson = new Gson();
139 String userBodyJson = gson.toJson(sdncUserDetails);
140 logger.debug("userBodyJson: {}", userBodyJson);
141 HttpRequest http = new HttpRequest();
142 String url = String.format(Urls.UPDATE_USER_ROLE, config.getCatalogBeHost(), config.getCatalogBePort(),
144 RestResponse sendUpdateUserRequest = http.httpSendPost(url, userBodyJson, headersMap);
146 return sendUpdateUserRequest;
150 public static RestResponse getUser(User sdncUserDetails, User sdncModifierDetails) throws IOException {
152 Config config = Utils.getConfig();
154 Map<String, String> headersMap = new HashMap<String, String>();
155 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
156 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
157 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
158 HttpRequest http = new HttpRequest();
159 String url = String.format(Urls.GET_USER, config.getCatalogBeHost(), config.getCatalogBePort(),
160 sdncUserDetails.getUserId());
161 RestResponse sendGetUserRequest = http.httpSendGet(url, headersMap);
162 return sendGetUserRequest;
166 public static RestResponse getUserRole(User sdncUserDetails, User sdncModifierDetails) throws IOException {
168 Config config = Utils.getConfig();
170 Map<String, String> headersMap = new HashMap<>();
171 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
172 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
173 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
174 HttpRequest http = new HttpRequest();
175 String url = String.format(Urls.GET_USER_ROLE, config.getCatalogBeHost(), config.getCatalogBePort(),
176 sdncUserDetails.getUserId());
177 RestResponse sendGetUserRequest = http.httpSendGet(url, headersMap);
178 return sendGetUserRequest;
184 public static RestResponse getAllAdminUsers(User sdncModifierDetails) throws IOException {
186 Config config = Utils.getConfig();
188 Map<String, String> headersMap = new HashMap<>();
189 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
190 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
191 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
193 // Gson gson = new Gson();
194 // String userBodyJson = gson.toJson(sdncModifierDetails);
195 // System.out.println(userBodyJson);
196 HttpRequest http = new HttpRequest();
197 String url = String.format(Urls.GET_ALL_ADMIN_USERS, config.getCatalogBeHost(), config.getCatalogBePort());
198 logger.debug("Send following url: {} and headers: {}",url, headersMap.toString());
199 RestResponse sendGetUserRequest = http.httpSendGet(url, headersMap);
201 return sendGetUserRequest;
206 public static RestResponse getUsersByRoles(User sdncModifierDetails, String roles) throws IOException {
208 Config config = Utils.getConfig();
209 Map<String, String> headersMap = new HashMap<String, String>();
210 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
211 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
212 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
213 HttpRequest http = new HttpRequest();
216 url = String.format(Urls.GET_ALL_USERS, config.getCatalogBeHost(), config.getCatalogBePort());
218 url = String.format(Urls.GET_USERS_BY_ROLES, config.getCatalogBeHost(), config.getCatalogBePort(), roles);
221 logger.debug("Send following url: {} and headers: {}",url, headersMap.toString());
222 RestResponse sendGetUserRequest = http.httpSendGet(url, headersMap);
223 return sendGetUserRequest;
226 public static RestResponse getUsersByRolesHttpCspAtuUidIsMissing(User sdncModifierDetails, String roles)
229 Config config = Utils.getConfig();
230 Map<String, String> headersMap = new HashMap<String, String>();
231 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData);
232 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate);
233 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncModifierDetails.getUserId());
234 headersMap.remove("USER_ID");
235 HttpRequest http = new HttpRequest();
236 String url = String.format(Urls.GET_USERS_BY_ROLES, config.getCatalogBeHost(), config.getCatalogBePort(),
239 "Send following url without USER_ID header : " + url + " headers: " + headersMap.toString());
241 RestResponse sendGetUserRequest = http.httpSendGet(url, headersMap);
242 return sendGetUserRequest;
245 public static RestResponse authorizedUserTowardsCatalogBe(User sdncUserDetails) throws IOException {
247 Map<String, String> headersMap = new HashMap<String, String>();
248 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), "application/json");
249 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), "application/json");
250 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncUserDetails.getUserId());
251 if (sdncUserDetails.getFirstName() != null) {
252 headersMap.put(HttpHeaderEnum.HTTP_CSP_FIRSTNAME.getValue(), sdncUserDetails.getFirstName());
254 if (sdncUserDetails.getLastName() != null) {
255 headersMap.put(HttpHeaderEnum.HTTP_CSP_LASTNAME.getValue(), sdncUserDetails.getLastName());
257 if (sdncUserDetails.getEmail() != null) {
258 headersMap.put(HttpHeaderEnum.HTTP_CSP_EMAIL.getValue(), sdncUserDetails.getEmail());
261 logger.debug("headersMap: {}", headersMap.toString());
263 Config config = Utils.getConfig();
264 HttpRequest http = new HttpRequest();
265 String url = String.format(Urls.AUTHORIZE_USER, config.getCatalogBeHost(), config.getCatalogBePort());
266 logger.debug("Send GET request to login as seal user : {}", url);
267 return http.httpSendGet(url, headersMap);
270 public static RestResponse authorizedUserTowardsCatalogBeQA(User sdncUserDetails) throws IOException {
272 Map<String, String> headersMap = new HashMap<String, String>();
273 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), "application/json");
274 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), "application/json");
275 headersMap.put(HttpHeaderEnum.USER_ID.getValue(), sdncUserDetails.getUserId());
276 if (sdncUserDetails.getFirstName() != null) {
277 headersMap.put(HttpHeaderEnum.HTTP_CSP_FIRSTNAME.getValue(), sdncUserDetails.getFirstName());
279 if (sdncUserDetails.getLastName() != null) {
280 headersMap.put(HttpHeaderEnum.HTTP_CSP_LASTNAME.getValue(), sdncUserDetails.getLastName());
282 if (sdncUserDetails.getEmail() != null) {
283 headersMap.put(HttpHeaderEnum.HTTP_CSP_EMAIL.getValue(), sdncUserDetails.getEmail());
286 logger.debug("headersMap: {}", headersMap.toString());
288 Config config = Utils.getConfig();
289 HttpRequest http = new HttpRequest();
290 String url = String.format(Urls.AUTHORIZE_USER, config.getCatalogBeHost(), config.getCatalogBePort());
291 logger.debug("Send GET request to login as seal user : {}", url);
292 return http.httpSendGet(url, headersMap);