aboutsummaryrefslogtreecommitdiffstats
path: root/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http
diff options
context:
space:
mode:
Diffstat (limited to 'vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http')
-rw-r--r--vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/HeaderData.java114
-rw-r--r--vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/HeaderValue.java38
-rw-r--r--vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/HttpHeaderEnum.java58
-rw-r--r--vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/HttpRequest.java889
-rw-r--r--vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/MustHeaders.java53
-rw-r--r--vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/RestResponse.java84
6 files changed, 1236 insertions, 0 deletions
diff --git a/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/HeaderData.java b/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/HeaderData.java
new file mode 100644
index 000000000..4dfdbad8b
--- /dev/null
+++ b/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/HeaderData.java
@@ -0,0 +1,114 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdc.ci.tests.datatypes.http;
+
+public class HeaderData {
+ String contentMd5;
+ String contentType;
+ String HttpCspUserId;
+ String HttpCspFirstName;
+ String HttpCspLastName;
+ String HttpCspWsType;
+ String HttpIvRemoteAddress;
+ String HttpIvUser;
+
+ public HeaderData() {
+ super();
+ }
+
+ public HeaderData(String contentMd5, String contentType, String httpCspUserId, String httpCspFirstName,
+ String httpCspLastName, String httpCspWsType, String httpIvRemoteAddress, String httpIvUser) {
+ super();
+ this.contentMd5 = contentMd5;
+ this.contentType = contentType;
+ HttpCspUserId = httpCspUserId;
+ HttpCspFirstName = httpCspFirstName;
+ HttpCspLastName = httpCspLastName;
+ HttpCspWsType = httpCspWsType;
+ HttpIvRemoteAddress = httpIvRemoteAddress;
+ HttpIvUser = httpIvUser;
+ }
+
+ public String getContentMd5() {
+ return contentMd5;
+ }
+
+ public void setContentMd5(String contentMd5) {
+ this.contentMd5 = contentMd5;
+ }
+
+ public String getContentType() {
+ return contentType;
+ }
+
+ public void setContentType(String contentType) {
+ this.contentType = contentType;
+ }
+
+ public String getHttpCspUserId() {
+ return HttpCspUserId;
+ }
+
+ public void setHttpCspUserId(String httpCspUserId) {
+ HttpCspUserId = httpCspUserId;
+ }
+
+ public String getHttpCspFirstName() {
+ return HttpCspFirstName;
+ }
+
+ public void setHttpCspFirstName(String httpCspFirstName) {
+ HttpCspFirstName = httpCspFirstName;
+ }
+
+ public String getHttpCspLastName() {
+ return HttpCspLastName;
+ }
+
+ public void setHttpCspLastName(String httpCspLastName) {
+ HttpCspLastName = httpCspLastName;
+ }
+
+ public String getHttpCspWsType() {
+ return HttpCspWsType;
+ }
+
+ public void setHttpCspWsType(String httpCspWsType) {
+ HttpCspWsType = httpCspWsType;
+ }
+
+ public String getHttpIvRemoteAddress() {
+ return HttpIvRemoteAddress;
+ }
+
+ public void setHttpIvRemoteAddress(String httpIvRemoteAddress) {
+ HttpIvRemoteAddress = httpIvRemoteAddress;
+ }
+
+ public String getHttpIvUser() {
+ return HttpIvUser;
+ }
+
+ public void setHttpIvUser(String httpIvUser) {
+ HttpIvUser = httpIvUser;
+ }
+
+}
diff --git a/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/HeaderValue.java b/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/HeaderValue.java
new file mode 100644
index 000000000..e09a97251
--- /dev/null
+++ b/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/HeaderValue.java
@@ -0,0 +1,38 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdc.ci.tests.datatypes.http;
+
+public enum HeaderValue {
+
+ APPLICATION_JSON("application/json");
+
+ String value;
+
+ private HeaderValue(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+
+ return value;
+ }
+
+}
diff --git a/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/HttpHeaderEnum.java b/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/HttpHeaderEnum.java
new file mode 100644
index 000000000..e57c5a449
--- /dev/null
+++ b/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/HttpHeaderEnum.java
@@ -0,0 +1,58 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdc.ci.tests.datatypes.http;
+
+public enum HttpHeaderEnum {
+
+ Content_MD5("Content-MD5"),
+ USER_ID("USER_ID"),
+ HTTP_CSP_FIRSTNAME("HTTP_CSP_FIRSTNAME"),
+ HTTP_CSP_LASTNAME("HTTP_CSP_LASTNAME"),
+ HTTP_CSP_WSTYPE("HTTP_CSP_WSTYPE"),
+ HTTP_IV_REMOTE_ADDRESS("HTTP_IV_REMOTE_ADDRESS"),
+ HTTP_IV_USER("HTTP_IV_USER"),
+ HTTP_CSP_EMAIL("HTTP_CSP_EMAIL"),
+ CONTENT_TYPE("Content-Type"),
+ ACCEPT("Accept"),
+ X_ECOMP_REQUEST_ID_HEADER("X-ECOMP-RequestID"),
+ CACHE_CONTROL("Cache-Control"),
+ X_ECOMP_INSTANCE_ID("X-ECOMP-InstanceID"),
+ AUTHORIZATION("Authorization"),
+ CONTENT_LENGTH("Content-Length"),
+ CONTENT_DISPOSITION("Content-Disposition"),
+ HOST("Host"),
+ X_ECOMP_SERVICE_ID_HEADER("X-ECOMP-ServiceID"),
+ WWW_AUTHENTICATE("WWW-Authenticate"),
+ ECOMP_PASSWORD("password"),
+ ECOMP_USERNAME("username");
+
+ String value;
+
+ private HttpHeaderEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+
+ return value;
+ }
+
+}
diff --git a/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/HttpRequest.java b/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/HttpRequest.java
new file mode 100644
index 000000000..4f831b187
--- /dev/null
+++ b/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/HttpRequest.java
@@ -0,0 +1,889 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdc.ci.tests.datatypes.http;
+
+import java.io.BufferedReader;
+import java.io.DataOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.StringWriter;
+import java.net.HttpURLConnection;
+import java.net.URI;
+import java.net.URL;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Scanner;
+
+import javax.net.ssl.HttpsURLConnection;
+
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.io.IOUtils;
+import org.apache.http.HttpEntity;
+import org.apache.http.annotation.NotThreadSafe;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.entity.mime.MultipartEntityBuilder;
+import org.apache.http.entity.mime.content.FileBody;
+import org.apache.http.entity.mime.content.StringBody;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.util.EntityUtils;
+import org.onap.sdc.ci.tests.datatypes.http.RestResponse;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.gson.Gson;
+
+public class HttpRequest {
+ static Logger logger = LoggerFactory.getLogger(HttpRequest.class.getName());
+
+ public RestResponse httpSendGet(String url, Map<String, String> headers) throws IOException {
+
+ RestResponse restResponse = new RestResponse();
+ url = url.replaceAll("\\s", "%20");
+ URL obj = new URL(url);
+ HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+ // optional default is GET
+ con.setRequestMethod("GET");
+ // add request header
+ if (headers != null) {
+ for (Entry<String, String> header : headers.entrySet()) {
+ String key = header.getKey();
+ String value = header.getValue();
+ con.setRequestProperty(key, value);
+ }
+
+ }
+
+ int responseCode = con.getResponseCode();
+ logger.debug("Send GET http request, url: {}",url);
+ logger.debug("Response Code: {}",responseCode);
+
+ StringBuffer response = new StringBuffer();
+ String result;
+
+ try {
+
+ result = IOUtils.toString(con.getInputStream());
+ response.append(result);
+
+ } catch (Exception e) {
+ }
+
+ try {
+
+ result = IOUtils.toString(con.getErrorStream());
+ response.append(result);
+
+ } catch (Exception e) {
+ }
+
+ logger.debug("Response body: {}" ,response);
+
+ // print result
+
+ restResponse.setStatusCode(responseCode);
+
+ if (response != null) {
+ restResponse.setResponse(response.toString());
+ }
+
+ restResponse.setStatusCode(responseCode);
+ Map<String, List<String>> headerFields = con.getHeaderFields();
+ restResponse.setHeaderFields(headerFields);
+ String responseMessage = con.getResponseMessage();
+ restResponse.setResponseMessage(responseMessage);
+
+ con.disconnect();
+
+ return restResponse;
+ }
+
+ public RestResponse httpsSendGet(String url, Map<String, String> headers) throws IOException {
+
+ RestResponse restResponse = new RestResponse();
+ URL obj = new URL(url);
+ HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
+ // optional default is GET
+ con.setRequestMethod("GET");
+ // add request header
+ if (headers != null) {
+ for (Entry<String, String> header : headers.entrySet()) {
+ String key = header.getKey();
+ String value = header.getValue();
+ con.setRequestProperty(key, value);
+ }
+
+ }
+
+ int responseCode = con.getResponseCode();
+ logger.debug("Send GET http request, url: {}",url);
+ logger.debug("Response Code: {}",responseCode);
+
+ StringBuffer response = new StringBuffer();
+ try {
+ BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
+ String inputLine;
+ while ((inputLine = in.readLine()) != null) {
+ response.append(inputLine);
+ }
+ in.close();
+ } catch (Exception e) {
+ logger.debug("response body is null");
+ }
+
+ String result;
+
+ try {
+
+ result = IOUtils.toString(con.getErrorStream());
+ response.append(result);
+
+ } catch (Exception e2) {
+ // result = null;
+ }
+ logger.debug("Response body: {}",response);
+
+ // print result
+
+ restResponse.setStatusCode(responseCode);
+
+ if (response != null) {
+ restResponse.setResponse(response.toString());
+ }
+
+ restResponse.setStatusCode(responseCode);
+ // restResponse.setResponse(result);
+ Map<String, List<String>> headerFields = con.getHeaderFields();
+ restResponse.setHeaderFields(headerFields);
+ String responseMessage = con.getResponseMessage();
+ restResponse.setResponseMessage(responseMessage);
+
+ con.disconnect();
+
+ return restResponse;
+ }
+
+ public RestResponse httpSendByMethod(String url, String method, String body, Map<String, String> headers)
+ throws IOException {
+
+ RestResponse restResponse = new RestResponse();
+ URL obj = new URL(url);
+ HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+
+ // add request method
+ con.setRequestMethod(method);
+
+ // add request headers
+ if (headers != null) {
+ for (Entry<String, String> header : headers.entrySet()) {
+ String key = header.getKey();
+ String value = header.getValue();
+ con.setRequestProperty(key, value);
+ }
+
+ }
+ if (body != null && !body.isEmpty() && !method.equals("DELETE")) {
+ // Send post request
+ con.setDoOutput(true);
+ DataOutputStream wr = new DataOutputStream(con.getOutputStream());
+ wr.writeBytes(body);
+ wr.flush();
+ wr.close();
+ }
+
+ // con.connect();
+
+ int responseCode = con.getResponseCode();
+ logger.debug("Send {} http request, url: {}",method,url);
+ logger.debug("Response Code: {}",responseCode);
+
+ StringBuffer response = new StringBuffer();
+
+ try {
+ BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
+ String inputLine;
+ while ((inputLine = in.readLine()) != null) {
+ response.append(inputLine);
+ }
+ in.close();
+ } catch (Exception e) {
+ // response = null;
+ logger.debug("response body is null");
+ }
+
+ String result;
+ try {
+
+ result = IOUtils.toString(con.getErrorStream());
+ response.append(result);
+
+ } catch (Exception e2) {
+ result = null;
+ }
+ logger.debug("Response body: {}",response);
+
+ // print result
+
+ restResponse.setStatusCode(responseCode);
+ // if (response == null) {
+ // restResponse.setResponse(null);
+ // } else {
+ // restResponse.setResponse(response.toString());
+ // }
+
+ if (response != null) {
+ restResponse.setResponse(response.toString());
+ }
+ Map<String, List<String>> headerFields = con.getHeaderFields();
+ restResponse.setHeaderFields(headerFields);
+ String responseMessage = con.getResponseMessage();
+ restResponse.setResponseMessage(responseMessage);
+
+ con.disconnect();
+ return restResponse;
+
+ }
+
+ public RestResponse sendHttpPost(String url, String body, Map<String, String> headers) throws IOException {
+
+ RestResponse restResponse = new RestResponse();
+ URL obj = new URL(url);
+ HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+
+ // add request method
+ con.setRequestMethod("POST");
+
+ // add request headers
+ if (headers != null) {
+ for (Entry<String, String> header : headers.entrySet()) {
+ String key = header.getKey();
+ String value = header.getValue();
+ con.setRequestProperty(key, value);
+ }
+ }
+
+ // Send post request
+ if (body != null) {
+ con.setDoOutput(true);
+ DataOutputStream wr = new DataOutputStream(con.getOutputStream());
+ wr.writeBytes(body);
+ wr.flush();
+ wr.close();
+ }
+
+ // con.connect();
+
+ int responseCode = con.getResponseCode();
+ logger.debug("Send POST http request, url: {}",url);
+ logger.debug("Response Code: {}",responseCode);
+
+ StringBuffer response = new StringBuffer();
+ try {
+ BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
+ String inputLine;
+ while ((inputLine = in.readLine()) != null) {
+ response.append(inputLine);
+ }
+ in.close();
+ } catch (Exception e) {
+ logger.debug("response body is null");
+ }
+
+ String result;
+
+ try {
+
+ result = IOUtils.toString(con.getErrorStream());
+ response.append(result);
+
+ } catch (Exception e2) {
+ result = null;
+ }
+ logger.debug("Response body: {}",response);
+
+ // print result
+
+ restResponse.setStatusCode(responseCode);
+
+ if (response != null) {
+ restResponse.setResponse(response.toString());
+ }
+
+ Map<String, List<String>> headerFields = con.getHeaderFields();
+ restResponse.setHeaderFields(headerFields);
+ String responseMessage = con.getResponseMessage();
+ restResponse.setResponseMessage(responseMessage);
+
+ con.disconnect();
+ return restResponse;
+
+ }
+
+ public RestResponse httpSendPost(String url, String body, Map<String, String> headers) throws IOException {
+ return httpSendPost(url, body, headers, "POST");
+ }
+
+ public RestResponse httpSendPut(String url, String body, Map<String, String> headers) throws IOException {
+ return httpSendPost(url, body, headers, "PUT");
+ }
+
+ public RestResponse httpSendPost(String url, String body, Map<String, String> headers, String methodType)
+ throws IOException {
+
+ RestResponse restResponse = new RestResponse();
+ URL obj = new URL(url);
+ HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+
+ // add request method
+ con.setRequestMethod(methodType);
+
+ // add request headers
+ if (headers != null) {
+ for (Entry<String, String> header : headers.entrySet()) {
+ String key = header.getKey();
+ String value = header.getValue();
+ con.setRequestProperty(key, value);
+ }
+ }
+
+ // Send post request
+ if (body != null) {
+ con.setDoOutput(true);
+ DataOutputStream wr = new DataOutputStream(con.getOutputStream());
+ wr.writeBytes(body);
+ wr.flush();
+ wr.close();
+ }
+
+ // con.connect();
+
+ int responseCode = con.getResponseCode();
+ logger.debug("Send POST http request, url: {}",url);
+ logger.debug("Response Code: {}",responseCode);
+
+ StringBuffer response = new StringBuffer();
+ try {
+ BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
+ String inputLine;
+ while ((inputLine = in.readLine()) != null) {
+ response.append(inputLine);
+ }
+ in.close();
+ } catch (Exception e) {
+ logger.debug("response body is null");
+ }
+
+ String result;
+
+ try {
+
+ result = IOUtils.toString(con.getErrorStream());
+ response.append(result);
+
+ } catch (Exception e2) {
+ result = null;
+ }
+ logger.debug("Response body: {}",response);
+
+ // print result
+
+ restResponse.setStatusCode(responseCode);
+
+ if (response != null) {
+ restResponse.setResponse(response.toString());
+ }
+
+ Map<String, List<String>> headerFields = con.getHeaderFields();
+ restResponse.setHeaderFields(headerFields);
+ String responseMessage = con.getResponseMessage();
+ restResponse.setResponseMessage(responseMessage);
+
+ con.disconnect();
+ return restResponse;
+
+ }
+
+ public RestResponse httpSendDeleteWithBody2(String url, String body, Map<String, String> headers)
+ throws ClientProtocolException, IOException {
+
+ CloseableHttpClient httpclient = HttpClients.createDefault();
+ RestResponse restResponse = new RestResponse();
+ HttpDeleteWithBody httpDelete = new HttpDeleteWithBody(url);
+
+ // add request headers
+ if (headers != null) {
+ for (Entry<String, String> header : headers.entrySet()) {
+ String key = header.getKey();
+ String value = header.getValue();
+ httpDelete.addHeader(key, value);
+ }
+ }
+
+ // add body to request
+ StringEntity input = new StringEntity(body, ContentType.APPLICATION_JSON);
+ httpDelete.setEntity(input);
+
+ // execute request
+ CloseableHttpResponse response = httpclient.execute(httpDelete);
+
+ restResponse.setStatusCode(response.getStatusLine().getStatusCode());
+
+ return restResponse;
+ }
+
+ public RestResponse httpSendDeleteWithBody(String url, String body, Map<String, String> headers)
+ throws IOException {
+
+ RestResponse restResponse = new RestResponse();
+ URL obj = new URL(url);
+ HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+
+ // add request method
+ con.setRequestMethod("DELETE");
+
+ // add request headers
+ if (headers != null) {
+ for (Entry<String, String> header : headers.entrySet()) {
+ String key = header.getKey();
+ String value = header.getValue();
+ con.setRequestProperty(key, value);
+ }
+ }
+
+ // Send post request
+ con.setDoOutput(true);
+ DataOutputStream wr = new DataOutputStream(con.getOutputStream());
+ wr.writeBytes(body);
+ wr.flush();
+ wr.close();
+
+ // con.connect();
+
+ int responseCode = con.getResponseCode();
+ logger.debug("Send DELETE http request, url: {}",url);
+ logger.debug("Response Code: {}",responseCode);
+
+ StringBuffer response = new StringBuffer();
+ try {
+ BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
+ String inputLine;
+ while ((inputLine = in.readLine()) != null) {
+ response.append(inputLine);
+ }
+ in.close();
+ } catch (Exception e) {
+ logger.debug("response body is null");
+ }
+
+ String result;
+
+ try {
+
+ result = IOUtils.toString(con.getErrorStream());
+ response.append(result);
+
+ } catch (Exception e2) {
+ result = null;
+ }
+ logger.debug("Response body: {}", response);
+
+ // print result
+
+ restResponse.setStatusCode(responseCode);
+
+ if (response != null) {
+ restResponse.setResponse(response.toString());
+ }
+
+ Map<String, List<String>> headerFields = con.getHeaderFields();
+ restResponse.setHeaderFields(headerFields);
+ String responseMessage = con.getResponseMessage();
+ restResponse.setResponseMessage(responseMessage);
+
+ con.disconnect();
+ return restResponse;
+
+ }
+
+ public RestResponse httpSendPostWithOutBody(String url, Map<String, String> headers) throws IOException {
+
+ RestResponse restResponse = new RestResponse();
+ URL obj = new URL(url);
+ HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+
+ // add request method
+ con.setRequestMethod("POST");
+
+ // add request headers
+ if (headers != null) {
+ for (Entry<String, String> header : headers.entrySet()) {
+ String key = header.getKey();
+ String value = header.getValue();
+ con.setRequestProperty(key, value);
+ }
+ }
+
+ // con.connect();
+
+ int responseCode = con.getResponseCode();
+ logger.debug("Send POST http request, url: {}",url);
+ logger.debug("Response Code: {}",responseCode);
+
+ StringBuffer response = new StringBuffer();
+
+ try {
+ BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
+ String inputLine;
+ while ((inputLine = in.readLine()) != null) {
+ response.append(inputLine);
+ }
+ in.close();
+ } catch (Exception e) {
+ // response = null;
+ logger.debug("response body is null");
+ }
+
+ String result;
+ try {
+
+ result = IOUtils.toString(con.getErrorStream());
+ response.append(result);
+
+ } catch (Exception e2) {
+ result = null;
+ }
+ logger.debug("Response body: {}",response);
+
+ // print result
+
+ restResponse.setStatusCode(responseCode);
+ // if (response == null) {
+ // restResponse.setResponse(null);
+ // } else {
+ // restResponse.setResponse(response.toString());
+ // }
+
+ if (response != null) {
+ restResponse.setResponse(response.toString());
+ }
+
+ Map<String, List<String>> headerFields = con.getHeaderFields();
+ restResponse.setHeaderFields(headerFields);
+ String responseMessage = con.getResponseMessage();
+ restResponse.setResponseMessage(responseMessage);
+
+ con.disconnect();
+ return restResponse;
+
+ }
+
+ public RestResponse httpSendPostMultipart(String url, Map<String, String> headers, String jsonLocation,
+ String zipLocation) throws IOException {
+
+ Gson gson = new Gson();
+ String gsonToSend = null;
+ RestResponse restResponse = new RestResponse();
+ BufferedReader br = null;
+ //
+ //
+ //
+ //
+ // try {
+ //
+ // String sCurrentLine;
+ //
+ // br = new BufferedReader(new FileReader(jsonLocation));
+ //
+ // while ((sCurrentLine = br.readLine()) != null) {
+ // System.out.println(sCurrentLine);
+ // }
+ //
+ // } catch (IOException e) {
+ // e.printStackTrace();
+ // } finally {
+ // try {
+ // if (br != null)br.close();
+ // gsonToSend = br.toString();
+ // } catch (IOException ex) {
+ // ex.printStackTrace();
+ // }
+ // }
+
+ gsonToSend = new Scanner(new File(jsonLocation)).useDelimiter("\\Z").next();
+ logger.debug("gsonToSend: {}",gsonToSend);
+
+ MultipartEntityBuilder mpBuilder = MultipartEntityBuilder.create();
+ mpBuilder.addPart("resourceZip", new FileBody(new File(zipLocation)));
+ mpBuilder.addPart("resourceMetadata", new StringBody(gsonToSend, ContentType.APPLICATION_JSON));
+
+ HttpPost httpPost = new HttpPost(url);
+ httpPost.addHeader("USER_ID", "adminid");
+ httpPost.setEntity(mpBuilder.build());
+
+ CloseableHttpClient client = HttpClients.createDefault();
+ CloseableHttpResponse response = client.execute(httpPost);
+ try {
+ logger.debug("----------------------------------------");
+ logger.debug("response.getStatusLine(): {}",response.getStatusLine());
+ HttpEntity resEntity = response.getEntity();
+ if (resEntity != null) {
+ logger.debug("Response content length: {}",resEntity.getContentLength());
+ }
+ EntityUtils.consume(resEntity);
+ } finally {
+
+ response.close();
+ client.close();
+ }
+
+ restResponse.setStatusCode(response.getStatusLine().getStatusCode());
+ restResponse.setResponse(response.getEntity().toString());
+
+ return restResponse;
+
+ }
+
+ public RestResponse httpSendPostWithAuth(String url, String body, Map<String, String> headers, String username,
+ String password) throws IOException {
+
+ String userPassword = username + ":" + password;
+ String encoding = Base64.encodeBase64String(userPassword.getBytes());
+ RestResponse restResponse = new RestResponse();
+ URL obj = new URL(url);
+ HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+
+ // add request method
+ con.setRequestMethod("POST");
+
+ con.setRequestProperty("Authorization", "Basic " + encoding);
+
+ // add request headers
+ if (headers != null) {
+ for (Entry<String, String> header : headers.entrySet()) {
+ String key = header.getKey();
+ String value = header.getValue();
+ con.setRequestProperty(key, value);
+ }
+
+ }
+
+ // Send post request
+ con.setDoOutput(true);
+ DataOutputStream wr = new DataOutputStream(con.getOutputStream());
+ wr.writeBytes(body);
+ wr.flush();
+ wr.close();
+
+ // con.connect();
+
+ int responseCode = con.getResponseCode();
+ logger.debug("Send POST http request, url: {}",url);
+ logger.debug("Response Code: {}",responseCode);
+
+ StringBuffer response = new StringBuffer();
+ try {
+ BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
+ String inputLine;
+ while ((inputLine = in.readLine()) != null) {
+ response.append(inputLine);
+ }
+ in.close();
+ } catch (Exception e) {
+ response = null;
+
+ }
+ logger.debug("Response body: {}",response);
+
+ // print result
+
+ restResponse.setStatusCode(responseCode);
+ if (response == null) {
+ restResponse.setResponse(null);
+ } else {
+ restResponse.setResponse(response.toString());
+ }
+
+ Map<String, List<String>> headerFields = con.getHeaderFields();
+ restResponse.setHeaderFields(headerFields);
+ String responseMessage = con.getResponseMessage();
+ restResponse.setResponseMessage(responseMessage);
+
+ con.disconnect();
+ return restResponse;
+
+ }
+
+ public RestResponse httpSendDelete(String url, Map<String, String> headers) throws IOException {
+
+ RestResponse restResponse = new RestResponse();
+ URL obj = new URL(url);
+ HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+
+ if (headers != null) {
+ for (Entry<String, String> header : headers.entrySet()) {
+ String key = header.getKey();
+ String value = header.getValue();
+ con.setRequestProperty(key, value);
+ }
+
+ }
+
+ con.setDoOutput(true);
+ con.setRequestMethod("DELETE");
+ int responseCode = con.getResponseCode();
+ logger.debug("Send DELETE http request, url: {}",url);
+ logger.debug("Response Code: {}",responseCode);
+
+ StringBuffer response = new StringBuffer();
+
+ try {
+ BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
+ String inputLine;
+ while ((inputLine = in.readLine()) != null) {
+ response.append(inputLine);
+ }
+ in.close();
+ } catch (Exception e) {
+ logger.debug("response body is null");
+ }
+
+ String result;
+
+ try {
+
+ result = IOUtils.toString(con.getErrorStream());
+ response.append(result);
+
+ } catch (Exception e2) {
+ result = null;
+ }
+ logger.debug("Response body: {}",response);
+
+ // print result
+
+ restResponse.setStatusCode(responseCode);
+
+ if (response != null) {
+ restResponse.setResponse(response.toString());
+ }
+
+ restResponse.setStatusCode(con.getResponseCode());
+ Map<String, List<String>> headerFields = con.getHeaderFields();
+ restResponse.setHeaderFields(headerFields);
+ String responseMessage = con.getResponseMessage();
+ restResponse.setResponseMessage(responseMessage);
+
+ con.disconnect();
+
+ return restResponse;
+ }
+
+ public static RestResponse sendHttpPostWithEntity(HttpEntity requestEntity, String url, Map<String, String> headers)
+ throws IOException, ClientProtocolException {
+ CloseableHttpResponse response = null;
+ CloseableHttpClient client = HttpClients.createDefault();
+ try {
+ HttpPost httpPost = new HttpPost(url);
+ RestResponse restResponse = new RestResponse();
+ for (Entry<String, String> entry : headers.entrySet()) {
+ httpPost.addHeader(entry.getKey(), entry.getValue());
+ }
+
+ httpPost.setEntity(requestEntity);
+ response = client.execute(httpPost);
+ HttpEntity responseEntity = response.getEntity();
+ String responseBody = null;
+ if (responseEntity != null) {
+ InputStream instream = responseEntity.getContent();
+ StringWriter writer = new StringWriter();
+ IOUtils.copy(instream, writer);
+ responseBody = writer.toString();
+ try {
+
+ } finally {
+ instream.close();
+ }
+ }
+
+ restResponse.setStatusCode(response.getStatusLine().getStatusCode());
+ restResponse.setResponse(responseBody);
+
+ return restResponse;
+
+ } finally {
+ closeResponse(response);
+ closeHttpClient(client);
+
+ }
+ }
+
+ private static void closeHttpClient(CloseableHttpClient client) {
+ try {
+ if (client != null) {
+ client.close();
+ }
+ } catch (IOException e) {
+ logger.debug("failed to close client or response: ", e);
+ }
+ }
+
+ private static void closeResponse(CloseableHttpResponse response) {
+ try {
+ if (response != null) {
+ response.close();
+ }
+ } catch (IOException e) {
+ logger.debug("failed to close client or response: ", e);
+ }
+ }
+
+ @NotThreadSafe
+ class HttpDeleteWithBody extends HttpEntityEnclosingRequestBase {
+ public static final String METHOD_NAME = "DELETE";
+
+ public String getMethod() {
+ return METHOD_NAME;
+ }
+
+ public HttpDeleteWithBody(final String uri) {
+ super();
+ setURI(URI.create(uri));
+ }
+
+ public HttpDeleteWithBody(final URI uri) {
+ super();
+ setURI(uri);
+ }
+
+ public HttpDeleteWithBody() {
+ super();
+ }
+ }
+
+}
diff --git a/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/MustHeaders.java b/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/MustHeaders.java
new file mode 100644
index 000000000..e9a87ed1d
--- /dev/null
+++ b/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/MustHeaders.java
@@ -0,0 +1,53 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdc.ci.tests.datatypes.http;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class MustHeaders {
+
+ private Map<String, String> headers = new HashMap<String, String>();
+
+ public MustHeaders(HeaderData headerData) {
+
+ super();
+ headers.put(HttpHeaderEnum.Content_MD5.getValue(), headerData.getContentMd5());
+ headers.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), headerData.getContentType());
+ headers.put(HttpHeaderEnum.ACCEPT.getValue(), headerData.getContentType());
+ headers.put(HttpHeaderEnum.USER_ID.getValue(), headerData.getHttpCspUserId());
+ headers.put(HttpHeaderEnum.HTTP_CSP_FIRSTNAME.getValue(), headerData.getHttpCspFirstName());
+ headers.put(HttpHeaderEnum.HTTP_CSP_LASTNAME.getValue(), headerData.getHttpCspLastName());
+ headers.put(HttpHeaderEnum.HTTP_CSP_WSTYPE.getValue(), headerData.getHttpCspWsType());
+ headers.put(HttpHeaderEnum.HTTP_IV_REMOTE_ADDRESS.getValue(), headerData.getHttpIvRemoteAddress());
+ headers.put(HttpHeaderEnum.HTTP_IV_USER.getValue(), headerData.getHttpIvUser());
+
+ }
+
+ public MustHeaders() {
+ super();
+ }
+
+ public Map<String, String> getMap() {
+ return headers;
+ }
+
+}
diff --git a/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/RestResponse.java b/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/RestResponse.java
new file mode 100644
index 000000000..8974b74c1
--- /dev/null
+++ b/vid-automation/src/main/java/org/onap/sdc/ci/tests/datatypes/http/RestResponse.java
@@ -0,0 +1,84 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdc.ci.tests.datatypes.http;
+
+import java.util.List;
+import java.util.Map;
+
+public class RestResponse {
+
+ Integer statusCode;
+ String response;
+ Map<String, List<String>> headerFields;
+ String responseMessage;
+
+ public RestResponse() {
+ super();
+ }
+
+ public RestResponse(Integer errorCode, String response, Map<String, List<String>> headerFields,
+ String responseMessage) {
+ super();
+ this.statusCode = errorCode;
+ this.response = response;
+ this.headerFields = headerFields;
+ this.responseMessage = responseMessage;
+ }
+
+ public Integer getStatusCode() {
+ return statusCode;
+ }
+
+ public void setStatusCode(Integer errorCode) {
+ this.statusCode = errorCode;
+ }
+
+ public String getResponse() {
+ return response;
+ }
+
+ public void setResponse(String response) {
+ this.response = response;
+ }
+
+ public Map<String, List<String>> getHeaderFields() {
+ return headerFields;
+ }
+
+ public void setHeaderFields(Map<String, List<String>> headerFields) {
+ this.headerFields = headerFields;
+ }
+
+ public String getResponseMessage() {
+ return responseMessage;
+ }
+
+ public void setResponseMessage(String responseMessage) {
+ this.responseMessage = responseMessage;
+ }
+
+ @Override
+ public String toString() {
+ return "RestResponse [errorCode=" + statusCode + ", response=" + response + ", headerFields=" + headerFields
+ + ", responseMessage=" + responseMessage + "]";
+ }
+
+}