re base code
[sdc.git] / test-apis-ci / src / main / java / org / openecomp / sdc / ci / tests / utils / rest / EcompUserRestUtils.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.openecomp.sdc.ci.tests.utils.rest;
22
23 import com.google.gson.Gson;
24 import org.openecomp.portalsdk.core.restful.domain.EcompRole;
25 import org.openecomp.portalsdk.core.restful.domain.EcompUser;
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;
35
36 import java.io.IOException;
37 import java.util.HashMap;
38 import java.util.List;
39 import java.util.Map;
40
41 public class EcompUserRestUtils extends BaseRestUtils {
42
43         static Gson gson = new Gson();
44
45         static Logger logger = LoggerFactory.getLogger(EcompUserRestUtils.class.getName());
46         static String ecompUsername = "12345";
47         static String ecompPassword = "12345";
48
49         public EcompUserRestUtils() {
50                 super();
51
52                 StartTest.enableLogger();
53         }
54
55         public static RestResponse pushUser(EcompUser ecompUser) throws IOException {
56                 Config config = Utils.getConfig();
57
58                 Map<String, String> headersMap = new HashMap<>();
59                 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), BaseRestUtils.contentTypeHeaderData);
60                 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), BaseRestUtils.acceptHeaderData);
61                 headersMap.put(HttpHeaderEnum.ECOMP_USERNAME.getValue(), ecompUsername);
62                 headersMap.put(HttpHeaderEnum.ECOMP_PASSWORD.getValue(), ecompPassword);
63
64                 String userBodyJson = gson.toJson(ecompUser);
65
66                 HttpRequest http = new HttpRequest();
67                 String url = String.format(Urls.ECOMP_PUSH_USER, config.getCatalogBeHost(), config.getCatalogBePort());
68
69                 logger.debug("Send POST request to create user: {}", url);
70                 logger.debug("User body: {}", userBodyJson);
71                 logger.debug("User headers: {}", headersMap);
72
73                 RestResponse sendPushUserResponse = http.httpSendPost(url, userBodyJson, headersMap);
74
75                 return sendPushUserResponse;
76         }
77
78         /*
79          * loginId - equals to userId
80          */
81         public static RestResponse editUser(String loginId, EcompUser ecompUser) throws IOException {
82                 Config config = Utils.getConfig();
83
84                 Map<String, String> headersMap = new HashMap<>();
85                 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), BaseRestUtils.contentTypeHeaderData);
86                 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), BaseRestUtils.acceptHeaderData);
87                 headersMap.put(HttpHeaderEnum.ECOMP_USERNAME.getValue(), ecompUsername);
88                 headersMap.put(HttpHeaderEnum.ECOMP_PASSWORD.getValue(), ecompPassword);
89
90                 String userBodyJson = gson.toJson(ecompUser);
91
92                 HttpRequest http = new HttpRequest();
93                 String url = String.format(Urls.ECOMP_EDIT_USER, config.getCatalogBeHost(), config.getCatalogBePort(), loginId);
94
95                 logger.debug("Send POST request to edit user: {}", url);
96                 logger.debug("User body: {}", userBodyJson);
97                 logger.debug("User headers: {}", headersMap);
98
99                 RestResponse sendEditUserResponse = http.httpSendPost(url, userBodyJson, headersMap);
100
101                 return sendEditUserResponse;
102         }
103
104         /*
105          * loginId - equals to userId
106          */
107         public static RestResponse getUser(String loginId) throws IOException {
108                 Config config = Utils.getConfig();
109
110                 Map<String, String> headersMap = new HashMap<>();
111                 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), BaseRestUtils.contentTypeHeaderData);
112                 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), BaseRestUtils.acceptHeaderData);
113                 headersMap.put(HttpHeaderEnum.ECOMP_USERNAME.getValue(), ecompUsername);
114                 headersMap.put(HttpHeaderEnum.ECOMP_PASSWORD.getValue(), ecompPassword);
115
116                 HttpRequest http = new HttpRequest();
117                 String url = String.format(Urls.ECOMP_GET_USER, config.getCatalogBeHost(), config.getCatalogBePort(), loginId);
118
119                 logger.debug("Send GET request to get user: {}", url);
120                 logger.debug("User headers: {}", headersMap);
121
122                 RestResponse sendGetUserRequest = http.httpSendGet(url, headersMap);
123
124                 return sendGetUserRequest;
125         }
126
127         public static RestResponse getAllUsers() throws IOException {
128                 Config config = Utils.getConfig();
129
130                 Map<String, String> headersMap = new HashMap<>();
131                 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), BaseRestUtils.contentTypeHeaderData);
132                 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), BaseRestUtils.acceptHeaderData);
133                 headersMap.put(HttpHeaderEnum.ECOMP_USERNAME.getValue(), ecompUsername);
134                 headersMap.put(HttpHeaderEnum.ECOMP_PASSWORD.getValue(), ecompPassword);
135
136                 HttpRequest http = new HttpRequest();
137                 String url = String.format(Urls.ECOMP_GET_ALL_USERS, config.getCatalogBeHost(), config.getCatalogBePort());
138
139                 logger.debug("Send POST request to get all users: {}", url);
140                 logger.debug("User headers: {}", headersMap);
141
142                 RestResponse sendGetAllUsersRequest = http.httpSendGet(url, headersMap);
143
144                 return sendGetAllUsersRequest;
145         }
146
147         public static RestResponse getAllAvailableRoles() throws IOException {
148                 Config config = Utils.getConfig();
149
150                 Map<String, String> headersMap = new HashMap<>();
151                 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), BaseRestUtils.contentTypeHeaderData);
152                 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), BaseRestUtils.acceptHeaderData);
153                 headersMap.put(HttpHeaderEnum.ECOMP_USERNAME.getValue(), ecompUsername);
154                 headersMap.put(HttpHeaderEnum.ECOMP_PASSWORD.getValue(), ecompPassword);
155
156                 HttpRequest http = new HttpRequest();
157                 String url = String.format(Urls.ECOMP_GET_ALL_AVAILABLE_ROLES, config.getCatalogBeHost(),
158                                 config.getCatalogBePort());
159
160                 logger.debug("Send GET request to get all available roles: {}", url);
161                 logger.debug("User headers: {}", headersMap);
162
163                 RestResponse sendUpdateUserRequest = http.httpSendGet(url, headersMap);
164
165                 return sendUpdateUserRequest;
166         }
167
168         /*
169          * loginId - equals to userId
170          */
171         public static RestResponse pushUserRoles(String loginId, List<EcompRole> roles) throws IOException {
172                 Config config = Utils.getConfig();
173
174                 Map<String, String> headersMap = new HashMap<>();
175                 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), BaseRestUtils.contentTypeHeaderData);
176                 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), BaseRestUtils.acceptHeaderData);
177                 headersMap.put(HttpHeaderEnum.ECOMP_USERNAME.getValue(), ecompUsername);
178                 headersMap.put(HttpHeaderEnum.ECOMP_PASSWORD.getValue(), ecompPassword);
179
180                 String roleBodyJson = gson.toJson(roles);
181                 if(roleBodyJson.equals("[{}]")) {
182                         roleBodyJson = "[]";
183                 }
184
185                 HttpRequest http = new HttpRequest();
186                 String url = String.format(Urls.ECOMP_PUSH_USER_ROLES, config.getCatalogBeHost(), config.getCatalogBePort(),
187                                 loginId);
188
189                 logger.debug("Send POST request to push user role: {}", url);
190                 logger.debug("Roles body: {}", roleBodyJson);
191                 logger.debug("Request headers: {}", headersMap);
192
193                 RestResponse sendpushUserRolesResponse = http.httpSendPost(url, roleBodyJson, headersMap);
194
195                 return sendpushUserRolesResponse;
196         }
197
198         /*
199          * loginId - equals to userId
200          */
201         public static RestResponse getUserRoles(String loginId) throws IOException {
202                 Config config = Utils.getConfig();
203
204                 Map<String, String> headersMap = new HashMap<>();
205                 headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), BaseRestUtils.contentTypeHeaderData);
206                 headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), BaseRestUtils.acceptHeaderData);
207                 headersMap.put(HttpHeaderEnum.ECOMP_USERNAME.getValue(), ecompUsername);
208                 headersMap.put(HttpHeaderEnum.ECOMP_PASSWORD.getValue(), ecompPassword);
209
210                 HttpRequest http = new HttpRequest();
211                 String url = String.format(Urls.ECOMP_GET_USER_ROLES, config.getCatalogBeHost(), config.getCatalogBePort(),
212                                 loginId);
213
214                 logger.debug("Send GET request to get user roles: {}", url);
215                 logger.debug("User headers: {}", headersMap);
216
217                 RestResponse sendGetUserRolesRequest = http.httpSendGet(url, headersMap);
218
219                 return sendGetUserRolesRequest;
220         }
221
222         // TODO !!!!!!!!!!!!!!
223         /*
224          * Ask Eli if implementation of users is needed DELETE ECOMP USER
225          */
226
227         /*
228          * public static void main(String[] args) { EcompUser ecompUser = new
229          * EcompUser(); ecompUser.setFirstName("Test");
230          * ecompUser.setLastName("Testovich");
231          * ecompUser.setActive(true);
232          * 
233          * EcompRole roleToUpdate = new EcompRole(); roleToUpdate.setId(new
234          * Long(6)); roleToUpdate.setName("PRODUCT_STRATEGIST"); List<EcompRole>
235          * listOfRoles = new LinkedList<>(); listOfRoles.add(roleToUpdate);
236          * 
237          * try {
238          * System.out.println("\n-----------------------------\n Testing pushUser");
239          * System.out.println(pushUser(ecompUser));
240          * System.out.println("\n-----------------------------\n Testing editUser");
241          * System.out.println("\n-----------------------------\n Testing getUser");
242          * // System.out.println(getUser(ecompUser.getLoginId())); System.out.
243          * println("\n-----------------------------\n Testing getAllUsers"); //
244          * System.out.println(getAllUsers()); System.out.
245          * println("\n-----------------------------\n Testing getAllAvailableRoles"
246          * ); // System.out.println(getAllAvailableRoles().toString()); System.out.
247          * println("\n-----------------------------\n Testing pushUserRoles");
248          * TODO Auto-generated catch block e.printStackTrace(); } }
249          */
250 }