summaryrefslogtreecommitdiffstats
path: root/holmes-actions
diff options
context:
space:
mode:
authortang peng <tang.peng5@zte.com.cn>2021-06-03 17:10:23 +0800
committertang peng <tang.peng5@zte.com.cn>2021-06-03 17:26:36 +0800
commit6cc976de165087178e784c40423242bc7f1b07ee (patch)
tree9f22ffba6fe471310ede78f80554e3fb327e5ef7 /holmes-actions
parent619728f21ddd45497da236d1dbdae4e21a36e5c2 (diff)
Remove Class: HttpsUtils & MicroserviceBusRest
Issue-ID: HOLMES-414 Signed-off-by: tang peng <tang.peng5@zte.com.cn> Change-Id: I8722cb9230e7f132cb38ca143d2a4de9d41025f1
Diffstat (limited to 'holmes-actions')
-rw-r--r--holmes-actions/pom.xml2
-rw-r--r--holmes-actions/src/main/java/org/onap/holmes/common/config/MicroServiceConfig.java17
-rw-r--r--holmes-actions/src/main/java/org/onap/holmes/common/msb/MicroserviceBusRest.java36
-rw-r--r--holmes-actions/src/main/java/org/onap/holmes/common/utils/CommonUtils.java42
-rw-r--r--holmes-actions/src/main/java/org/onap/holmes/common/utils/HttpsUtils.java200
-rw-r--r--holmes-actions/src/test/java/org/onap/holmes/common/config/MicroServiceConfigTest.java49
-rw-r--r--holmes-actions/src/test/java/org/onap/holmes/common/utils/CommonUtilsTest.java95
-rw-r--r--holmes-actions/src/test/java/org/onap/holmes/common/utils/HttpsUtilsTest.java275
8 files changed, 143 insertions, 573 deletions
diff --git a/holmes-actions/pom.xml b/holmes-actions/pom.xml
index fabb1a8..3a5b042 100644
--- a/holmes-actions/pom.xml
+++ b/holmes-actions/pom.xml
@@ -12,7 +12,7 @@
<parent>
<groupId>org.onap.holmes.common</groupId>
<artifactId>holmes-common-parent</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.4-SNAPSHOT</version>
</parent>
<name>holmes-common-service</name>
diff --git a/holmes-actions/src/main/java/org/onap/holmes/common/config/MicroServiceConfig.java b/holmes-actions/src/main/java/org/onap/holmes/common/config/MicroServiceConfig.java
index 7566fa1..43fef11 100644
--- a/holmes-actions/src/main/java/org/onap/holmes/common/config/MicroServiceConfig.java
+++ b/holmes-actions/src/main/java/org/onap/holmes/common/config/MicroServiceConfig.java
@@ -27,6 +27,9 @@ import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.core.Response;
import java.util.regex.Pattern;
+import static org.onap.holmes.common.utils.CommonUtils.getEnv;
+import static org.onap.holmes.common.utils.CommonUtils.isIpAddress;
+
public class MicroServiceConfig {
final static public String CONSUL_ADDR_SUF = ":8500/v1/catalog/service/";
@@ -38,19 +41,11 @@ public class MicroServiceConfig {
final static public String MSB_ADDR = "MSB_ADDR";
final static public String MSB_IAG_SERVICE_HOST = "MSB_IAG_SERVICE_HOST";
final static public String MSB_IAG_SERVICE_PORT = "MSB_IAG_SERVICE_PORT";
- final static public Pattern IP_REG = Pattern.compile("(http(s)?://)?(\\d+\\.\\d+\\.\\d+\\.\\d+)(:(\\d+))?");
+
final static public String AAI_HOSTNAME = "aai.onap";
final static public Logger log = LoggerFactory.getLogger(MicroServiceConfig.class);
- public static String getEnv(String name) {
- String value = System.getenv(name);
- if (value == null) {
- value = System.getProperty(name);
- }
- return value;
- }
-
public static String getConsulAddrInfo() {
return "http://" + getEnv(CONSUL_HOST) + CONSUL_ADDR_SUF;
}
@@ -129,9 +124,7 @@ public class MicroServiceConfig {
return serviceAddrInfo;
}
- public static boolean isIpAddress(String info) {
- return IP_REG.matcher(info).matches();
- }
+
private static String[] split(String addr) {
String ip;
diff --git a/holmes-actions/src/main/java/org/onap/holmes/common/msb/MicroserviceBusRest.java b/holmes-actions/src/main/java/org/onap/holmes/common/msb/MicroserviceBusRest.java
deleted file mode 100644
index 06b91e5..0000000
--- a/holmes-actions/src/main/java/org/onap/holmes/common/msb/MicroserviceBusRest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Copyright 2017 ZTE Corporation.
- *
- * 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.
- */
-
-package org.onap.holmes.common.msb;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import org.onap.holmes.common.api.entity.ServiceRegisterEntity;
-
-@Path("/api/microservices/v1/services")
-public interface MicroserviceBusRest {
-
- @Path("")
- @POST
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
- ServiceRegisterEntity registerServce(@QueryParam("createOrUpdate") String createOrUpdate,
- ServiceRegisterEntity entity);
-}
diff --git a/holmes-actions/src/main/java/org/onap/holmes/common/utils/CommonUtils.java b/holmes-actions/src/main/java/org/onap/holmes/common/utils/CommonUtils.java
new file mode 100644
index 0000000..9aa2e0b
--- /dev/null
+++ b/holmes-actions/src/main/java/org/onap/holmes/common/utils/CommonUtils.java
@@ -0,0 +1,42 @@
+/**
+ * Copyright 2021 ZTE Corporation.
+ * <p>
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * 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.
+ */
+
+package org.onap.holmes.common.utils;
+
+import org.jvnet.hk2.annotations.Service;
+
+import java.util.regex.Pattern;
+
+@Service
+public class CommonUtils {
+
+ final static public String IP_REG = "(http(s)?://)?(\\d+\\.\\d+\\.\\d+\\.\\d+)(:(\\d+))?";
+
+ public static boolean isHttpsEnabled() {
+ return Boolean.valueOf(getEnv("ENABLE_ENCRYPT"));
+ }
+
+ public static String getEnv(String name) {
+ String value = System.getenv(name);
+ if (value == null) {
+ value = System.getProperty(name);
+ }
+ return value;
+ }
+
+ public static boolean isIpAddress(String info) {
+ return Pattern.compile(IP_REG).matcher(info).matches();
+ }
+
+}
diff --git a/holmes-actions/src/main/java/org/onap/holmes/common/utils/HttpsUtils.java b/holmes-actions/src/main/java/org/onap/holmes/common/utils/HttpsUtils.java
deleted file mode 100644
index 8b4be57..0000000
--- a/holmes-actions/src/main/java/org/onap/holmes/common/utils/HttpsUtils.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/**
- * Copyright 2017 ZTE Corporation.
- * <p>
- * 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
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
- * 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.
- */
-
-package org.onap.holmes.common.utils;
-
-import lombok.extern.slf4j.Slf4j;
-import org.apache.http.*;
-import org.apache.http.client.config.RequestConfig;
-import org.apache.http.client.entity.UrlEncodedFormEntity;
-import org.apache.http.client.methods.*;
-import org.apache.http.config.Registry;
-import org.apache.http.config.RegistryBuilder;
-import org.apache.http.conn.socket.ConnectionSocketFactory;
-import org.apache.http.conn.socket.PlainConnectionSocketFactory;
-import org.apache.http.conn.ssl.NoopHostnameVerifier;
-import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
-import org.apache.http.conn.ssl.TrustStrategy;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClientBuilder;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
-import org.apache.http.message.BasicNameValuePair;
-import org.apache.http.ssl.SSLContextBuilder;
-import org.apache.http.util.EntityUtils;
-import org.jvnet.hk2.annotations.Service;
-import org.onap.holmes.common.config.MicroServiceConfig;
-import org.onap.holmes.common.exception.CorrelationException;
-
-import java.io.IOException;
-import java.security.cert.CertificateException;
-import java.security.cert.X509Certificate;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-@Slf4j
-@Service
-public class HttpsUtils {
- private static final String HTTP = "http";
- private static final String HTTPS = "https";
- private static SSLConnectionSocketFactory sslConnectionSocketFactory = null;
- private static PoolingHttpClientConnectionManager connectionManager = null;
- private static SSLContextBuilder sslContextBuilder = null;
- public static final int DEFUALT_TIMEOUT = 30000;
-
- static {
- try {
- sslContextBuilder = new SSLContextBuilder();
- sslContextBuilder.loadTrustMaterial(null, new TrustStrategy() {
- public boolean isTrusted(X509Certificate[] x509Certificates, String s)
- throws CertificateException {
- return true;
- }
- });
- sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContextBuilder.build(),
- new String[]{"SSLv3", "TLSv1", "TLSv1.2"}, null,
- NoopHostnameVerifier.INSTANCE);
- Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create()
- .register(HTTP, new PlainConnectionSocketFactory())
- .register(HTTPS, sslConnectionSocketFactory)
- .build();
- connectionManager = new PoolingHttpClientConnectionManager(registry);
- connectionManager.setMaxTotal(200);
- } catch (Exception e) {
- log.error("Failed to initialize the ssl builder: " + e.getMessage(), e);
- }
- }
-
- public static HttpResponse get(HttpGet httpGet, Map<String, String> header, CloseableHttpClient httpClient) throws CorrelationException {
- return getGetAndDeleteResponse(httpGet, header, httpClient);
- }
-
- public static HttpResponse post(HttpPost httpPost, Map<String, String> header, Map<String, String> param,
- HttpEntity entity, CloseableHttpClient httpClient) throws CorrelationException {
- return getPostAndPutResponse(httpPost, header, param, entity, httpClient);
- }
-
- public static HttpResponse put(HttpPut httpPut, Map<String, String> header, Map<String, String> param,
- HttpEntity entity, CloseableHttpClient httpClient) throws CorrelationException {
- return getPostAndPutResponse(httpPut, header, param, entity, httpClient);
- }
-
- public static HttpResponse delete(HttpDelete httpDelete, Map<String, String> header, CloseableHttpClient httpClient) throws CorrelationException {
- return getGetAndDeleteResponse(httpDelete, header, httpClient);
- }
-
- private static void addParams(Map<String, String> param, HttpEntityEnclosingRequestBase requestBase) {
- if (!param.isEmpty()) {
- List<NameValuePair> formparams = new ArrayList<>();
- for (Map.Entry<String, String> entry : param.entrySet()) {
- formparams.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
- }
- UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(formparams,
- Consts.UTF_8);
- requestBase.setEntity(urlEncodedFormEntity);
- }
- }
-
- private static HttpRequestBase addHeaders(Map<String, String> header, HttpRequestBase httpRequestBase) {
- if (!header.isEmpty()) {
- for (Map.Entry<String, String> entry : header.entrySet()) {
- httpRequestBase.addHeader(entry.getKey(), entry.getValue());
- }
- }
- return httpRequestBase;
- }
-
- private static HttpResponse getPostAndPutResponse(HttpEntityEnclosingRequestBase requestBase,
- Map<String, String> header, Map<String, String> param, HttpEntity entity,
- CloseableHttpClient httpClient) throws CorrelationException {
- try {
- addHeaders(header, requestBase);
- addParams(param, requestBase);
- if (entity != null) {
- requestBase.setEntity(entity);
- }
- return executeRequest(httpClient, requestBase);
- } catch (Exception e) {
- throw new CorrelationException("Failed to connect to server", e);
- }
- }
-
- private static HttpResponse getGetAndDeleteResponse(HttpRequestBase requestBase,
- Map<String, String> header, CloseableHttpClient httpClient) throws CorrelationException {
- try {
- addHeaders(header, requestBase);
- return executeRequest(httpClient, requestBase);
- } catch (Exception e) {
- throw new CorrelationException("Failed to connect to server", e);
- }
- }
-
- public static String extractResponseEntity(HttpResponse httpResponse)
- throws CorrelationException, IOException {
- String result = "";
- if (httpResponse != null) {
- int statusCode = httpResponse.getStatusLine().getStatusCode();
- if (statusCode == HttpStatus.SC_OK) {
- HttpEntity resEntity = httpResponse.getEntity();
- result = EntityUtils.toString(resEntity);
- } else {
- throw new CorrelationException("Get an error status from server : " + statusCode);
- }
- }
- return result;
- }
-
- private static HttpResponse executeRequest(CloseableHttpClient httpClient, HttpRequestBase httpRequest)
- throws CorrelationException, IOException {
- HttpResponse httpResponse;
- try {
- httpResponse = httpClient.execute(httpRequest);
- } catch (Exception e) {
- throw new CorrelationException("Failed to get data from server", e);
- }
- return httpResponse;
- }
-
- public static CloseableHttpClient getConditionalHttpsClient(int timeout) {
- HttpClientBuilder builder = getHttpClientBuilder(timeout);
- if (isHttpsEnabled()) {
- builder.setSSLSocketFactory(sslConnectionSocketFactory);
- }
-
- return builder.build();
- }
-
- public static CloseableHttpClient getHttpsClient(int timeout) {
- HttpClientBuilder builder = getHttpClientBuilder(timeout);
- return builder.setSSLSocketFactory(sslConnectionSocketFactory).build();
- }
-
- private static HttpClientBuilder getHttpClientBuilder(int timeout) {
- RequestConfig defaultRequestConfig = RequestConfig.custom()
- .setSocketTimeout(timeout)
- .setConnectTimeout(timeout)
- .setConnectionRequestTimeout(timeout)
- .build();
-
- return HttpClients.custom()
- .setDefaultRequestConfig(defaultRequestConfig)
- .setConnectionManager(connectionManager)
- .setConnectionManagerShared(true);
- }
-
- public static boolean isHttpsEnabled() {
- return Boolean.valueOf(MicroServiceConfig.getEnv("ENABLE_ENCRYPT"));
- }
-}
diff --git a/holmes-actions/src/test/java/org/onap/holmes/common/config/MicroServiceConfigTest.java b/holmes-actions/src/test/java/org/onap/holmes/common/config/MicroServiceConfigTest.java
index 316f09f..1fdc335 100644
--- a/holmes-actions/src/test/java/org/onap/holmes/common/config/MicroServiceConfigTest.java
+++ b/holmes-actions/src/test/java/org/onap/holmes/common/config/MicroServiceConfigTest.java
@@ -40,7 +40,6 @@ public class MicroServiceConfigTest {
private static String ACTUAL_HOSTNAME = System.getenv(HOSTNAME);
-
@Test
public void getMsbServerAddrTest() {
System.setProperty(MSB_IAG_SERVICE_HOST, "test");
@@ -336,52 +335,4 @@ public class MicroServiceConfigTest {
System.clearProperty(HOSTNAME);
}
-
- @Test
- public void isValidIpAddress_with_port() throws Exception {
- boolean res = WhiteboxImpl.invokeMethod(MicroServiceConfig.class, "isIpAddress", "10.75.13.21:90");
- assertThat(res, is(true));
- }
-
- @Test
- public void isValidIpAddress_without_port() throws Exception {
- boolean res = WhiteboxImpl.invokeMethod(MicroServiceConfig.class, "isIpAddress", "10.75.13.21");
- assertThat(res, is(true));
- }
-
- @Test
- public void isValidIpAddress_with_port_with_http_prefix() throws Exception {
- boolean res = WhiteboxImpl.invokeMethod(MicroServiceConfig.class, "isIpAddress", "http://10.75.13.21:90");
- assertThat(res, is(true));
- }
-
- @Test
- public void isValidIpAddress_without_port_with_https_prefix() throws Exception {
- boolean res = WhiteboxImpl.invokeMethod(MicroServiceConfig.class, "isIpAddress", "https://10.75.13.21");
- assertThat(res, is(true));
- }
-
- @Test
- public void isValidIpAddress_invalid_ip_without_port() throws Exception {
- boolean res = WhiteboxImpl.invokeMethod(MicroServiceConfig.class, "isIpAddress", "holmes-rule-mgmt");
- assertThat(res, is(false));
- }
-
- @Test
- public void isValidIpAddress_invalid_ip_with_port() throws Exception {
- boolean res = WhiteboxImpl.invokeMethod(MicroServiceConfig.class, "isIpAddress", "holmes-rule-mgmt:443");
- assertThat(res, is(false));
- }
-
- @Test
- public void isValidIpAddress_invalid_ip_without_port_with_http_prefix() throws Exception {
- boolean res = WhiteboxImpl.invokeMethod(MicroServiceConfig.class, "isIpAddress", "http://holmes-rule-mgmt");
- assertThat(res, is(false));
- }
-
- @Test
- public void isValidIpAddress_invalid_ip_with_port_with_https_prefix() throws Exception {
- boolean res = WhiteboxImpl.invokeMethod(MicroServiceConfig.class, "isIpAddress", "https://holmes-rule-mgmt:443");
- assertThat(res, is(false));
- }
} \ No newline at end of file
diff --git a/holmes-actions/src/test/java/org/onap/holmes/common/utils/CommonUtilsTest.java b/holmes-actions/src/test/java/org/onap/holmes/common/utils/CommonUtilsTest.java
new file mode 100644
index 0000000..15cc44d
--- /dev/null
+++ b/holmes-actions/src/test/java/org/onap/holmes/common/utils/CommonUtilsTest.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright 2021 ZTE Corporation.
+ * <p>
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * 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.
+ */
+
+package org.onap.holmes.common.utils;
+
+import org.junit.Test;
+
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertThat;
+
+public class CommonUtilsTest {
+ @Test
+ public void isHttpsEnabled_normal_true() throws Exception {
+ System.setProperty("ENABLE_ENCRYPT", "true");
+ assertThat(CommonUtils.isHttpsEnabled(), is(true));
+ }
+
+ @Test
+ public void isHttpsEnabled_normal_false() throws Exception {
+ System.setProperty("ENABLE_ENCRYPT", "false");
+ assertThat(CommonUtils.isHttpsEnabled(), is(false));
+ }
+
+ @Test
+ public void isHttpsEnabled_invalid_input() throws Exception {
+ System.setProperty("ENABLE_ENCRYPT", "whatever");
+ assertThat(CommonUtils.isHttpsEnabled(), is(false));
+ }
+
+ @Test
+ public void getEnv() throws Exception {
+ System.setProperty("TEST", "COMMON_UTILS");
+ assertThat(CommonUtils.getEnv("TEST"), equalTo("COMMON_UTILS"));
+ }
+
+ @Test
+ public void isValidIpAddress_with_port() throws Exception {
+ boolean res = CommonUtils.isIpAddress("10.75.13.21:90");
+ assertThat(res, is(true));
+ }
+
+ @Test
+ public void isValidIpAddress_without_port() throws Exception {
+ boolean res = CommonUtils.isIpAddress("10.75.13.21");
+ assertThat(res, is(true));
+ }
+
+ @Test
+ public void isValidIpAddress_with_port_with_http_prefix() throws Exception {
+ boolean res = CommonUtils.isIpAddress("http://10.75.13.21:90");
+ assertThat(res, is(true));
+ }
+
+ @Test
+ public void isValidIpAddress_without_port_with_https_prefix() throws Exception {
+ boolean res = CommonUtils.isIpAddress("https://10.75.13.21");
+ assertThat(res, is(true));
+ }
+
+ @Test
+ public void isValidIpAddress_invalid_ip_without_port() throws Exception {
+ boolean res = CommonUtils.isIpAddress("holmes-rule-mgmt");
+ assertThat(res, is(false));
+ }
+
+ @Test
+ public void isValidIpAddress_invalid_ip_with_port() throws Exception {
+ boolean res = CommonUtils.isIpAddress("holmes-rule-mgmt:443");
+ assertThat(res, is(false));
+ }
+
+ @Test
+ public void isValidIpAddress_invalid_ip_without_port_with_http_prefix() throws Exception {
+ boolean res = CommonUtils.isIpAddress("http://holmes-rule-mgmt");
+ assertThat(res, is(false));
+ }
+
+ @Test
+ public void isValidIpAddress_invalid_ip_with_port_with_https_prefix() throws Exception {
+ boolean res = CommonUtils.isIpAddress("https://holmes-rule-mgmt:443");
+ assertThat(res, is(false));
+ }
+} \ No newline at end of file
diff --git a/holmes-actions/src/test/java/org/onap/holmes/common/utils/HttpsUtilsTest.java b/holmes-actions/src/test/java/org/onap/holmes/common/utils/HttpsUtilsTest.java
deleted file mode 100644
index db9423a..0000000
--- a/holmes-actions/src/test/java/org/onap/holmes/common/utils/HttpsUtilsTest.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Copyright 2017 ZTE Corporation.
- *
- * 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.
- */
-
-package org.onap.holmes.common.utils;
-
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.HttpStatus;
-import org.apache.http.StatusLine;
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpDelete;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.client.methods.HttpPut;
-import org.apache.http.client.methods.HttpRequestBase;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClientBuilder;
-import org.apache.http.impl.client.HttpClients;
-import org.easymock.EasyMock;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.junit.runner.RunWith;
-import org.onap.holmes.common.exception.CorrelationException;
-import org.powermock.api.easymock.PowerMock;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
-import org.powermock.reflect.Whitebox;
-
-@PrepareForTest({CloseableHttpClient.class, HttpClientBuilder.class, HttpClients.class, CloseableHttpResponse.class,
- StatusLine.class})
-@RunWith(PowerMockRunner.class)
-@PowerMockIgnore("javax.net.ssl.*")
-public class HttpsUtilsTest {
-
- @Rule
- public ExpectedException thrown = ExpectedException.none();
- private HttpsUtils httpsUtils;
-
- @Before
- public void setUp() {
- httpsUtils = new HttpsUtils();
- }
-
-
- @Test
- public void testHttpsUtil_get_excepiton() throws Exception {
- PowerMock.resetAll();
- thrown.expect(CorrelationException.class);
- thrown.expectMessage("Failed to connect to server");
- String url = "host";
- Map<String, String> header = new HashMap<>();
- header.put("accept", "application/json");
- CloseableHttpClient httpClient = HttpsUtils.getConditionalHttpsClient(HttpsUtils.DEFUALT_TIMEOUT);
- HttpGet httpRequestBase = new HttpGet(url);
- HttpResponse httpResponse = HttpsUtils.get(httpRequestBase, header, httpClient);
- String response = HttpsUtils.extractResponseEntity(httpResponse);
- assertThat(response, equalTo(""));
- }
-
- @Test
- public void testHttpsUtil_get_normal() throws Exception {
- PowerMock.resetAll();
- CloseableHttpClient httpClient = PowerMock.createMock(CloseableHttpClient.class);
- CloseableHttpResponse response = PowerMock.createMock(CloseableHttpResponse.class);
- EasyMock.expect(httpClient.execute(EasyMock.anyObject(HttpRequestBase.class))).andReturn(response);
- StatusLine sl = PowerMock.createMock(StatusLine.class);
- EasyMock.expect(response.getStatusLine()).andReturn(sl);
- EasyMock.expect(sl.getStatusCode()).andReturn(HttpStatus.SC_OK);
- HttpEntity responseEntity = new StringEntity("Test");
- EasyMock.expect(response.getEntity()).andReturn(responseEntity);
-
- PowerMock.replayAll();
-
-
- String url = "localhost";
- Map<String, String> header = new HashMap<>();
- header.put("accept", "application/json");
-
- HttpGet httpRequestBase = new HttpGet(url);
- HttpResponse httpResponse = HttpsUtils.get(httpRequestBase, header, httpClient);
- String res = HttpsUtils.extractResponseEntity(httpResponse);
-
- PowerMock.verifyAll();
-
- assertThat(res, equalTo("Test"));
- }
-
- @Test
- public void testHttpsUtil_delete_excepiton() throws Exception {
- PowerMock.resetAll();
- thrown.expect(CorrelationException.class);
- thrown.expectMessage("Failed to connect to server");
- String url = "host";
- Map<String, String> header = new HashMap<>();
- header.put("accept", "application/json");
- HttpDelete httpRequestBase = new HttpDelete(url);
- CloseableHttpClient httpClient = HttpsUtils.getConditionalHttpsClient(HttpsUtils.DEFUALT_TIMEOUT);
- HttpResponse httpResponse = HttpsUtils.delete(httpRequestBase, header, httpClient);
- String response = HttpsUtils.extractResponseEntity(httpResponse);
- assertThat(response, equalTo(""));
- }
-
- @Test
- public void testHttpsUtil_delete_normal() throws Exception {
- PowerMock.resetAll();
- CloseableHttpClient httpClient = PowerMock.createMock(CloseableHttpClient.class);
- CloseableHttpResponse response = PowerMock.createMock(CloseableHttpResponse.class);
- EasyMock.expect(httpClient.execute(EasyMock.anyObject(HttpRequestBase.class))).andReturn(response);
- StatusLine sl = PowerMock.createMock(StatusLine.class);
- EasyMock.expect(response.getStatusLine()).andReturn(sl);
- EasyMock.expect(sl.getStatusCode()).andReturn(HttpStatus.SC_OK);
- HttpEntity responseEntity = new StringEntity("Test");
- EasyMock.expect(response.getEntity()).andReturn(responseEntity);
-
- PowerMock.replayAll();
-
-
- String url = "localhost";
- Map<String, String> header = new HashMap<>();
- header.put("accept", "application/json");
-
- HttpDelete httpRequestBase = new HttpDelete(url);
- HttpResponse httpResponse = HttpsUtils.delete(httpRequestBase, header, httpClient);
- String res = HttpsUtils.extractResponseEntity(httpResponse);
-
- PowerMock.verifyAll();
-
- assertThat(res, equalTo("Test"));
- }
-
- @Test
- public void testHttpsUtil_post_excepiton() throws Exception {
- PowerMock.resetAll();
- thrown.expect(CorrelationException.class);
- thrown.expectMessage("Failed to connect to server");
- String url = "host";
- Map<String, String> header = new HashMap<>();
- header.put("accept", "application/json");
- Map<String, String> para = new HashMap<>();
- para.put("tset", "1111");
- CloseableHttpClient httpClient = HttpsUtils.getConditionalHttpsClient(HttpsUtils.DEFUALT_TIMEOUT);
- HttpPost httpPost = new HttpPost(url);
- HttpResponse httpResponse = HttpsUtils.post(httpPost, header, para, null, httpClient);
- String response = HttpsUtils.extractResponseEntity(httpResponse);
- assertThat(response, equalTo(""));
- }
-
- @Test
- public void testHttpsUtil_post_normal() throws Exception {
- PowerMock.resetAll();
- CloseableHttpClient httpClient = PowerMock.createMock(CloseableHttpClient.class);
- CloseableHttpResponse response = PowerMock.createMock(CloseableHttpResponse.class);
- EasyMock.expect(httpClient.execute(EasyMock.anyObject(HttpRequestBase.class))).andReturn(response);
- StatusLine sl = PowerMock.createMock(StatusLine.class);
- EasyMock.expect(response.getStatusLine()).andReturn(sl);
- EasyMock.expect(sl.getStatusCode()).andReturn(HttpStatus.SC_OK);
- HttpEntity responseEntity = new StringEntity("Test");
- EasyMock.expect(response.getEntity()).andReturn(responseEntity);
-
- PowerMock.replayAll();
-
-
- String url = "localhost";
- Map<String, String> header = new HashMap<>();
- header.put("accept", "application/json");
- Map<String, String> para = new HashMap<>();
- para.put("tset", "1111");
-
- HttpEntity entity = new StringEntity("Test");
- HttpPost httpPost = new HttpPost(url);
- HttpResponse httpResponse = HttpsUtils.post(httpPost, header, para, entity, httpClient);
- String res = HttpsUtils.extractResponseEntity(httpResponse);
-
- PowerMock.verifyAll();
-
- assertThat(res, equalTo("Test"));
- }
-
- @Test
- public void testHttpsUtil_put_excepiton() throws Exception {
- thrown.expect(CorrelationException.class);
- thrown.expectMessage("Failed to connect to server");
- String url = "host";
- Map<String, String> header = new HashMap<>();
- header.put("accept", "application/json");
- Map<String, String> para = new HashMap<>();
- para.put("tset", "1111");
- CloseableHttpClient httpClient = HttpsUtils.getConditionalHttpsClient(HttpsUtils.DEFUALT_TIMEOUT);
- HttpPut httpPut = new HttpPut(url);
- HttpResponse httpResponse = HttpsUtils.put(httpPut, header, para, null, httpClient);
- String response = HttpsUtils.extractResponseEntity(httpResponse);
- assertThat(response, equalTo(""));
- }
-
- @Test
- public void testHttpsUtil_put_normal() throws Exception {
- PowerMock.resetAll();
- CloseableHttpClient httpClient = PowerMock.createMock(CloseableHttpClient.class);
- CloseableHttpResponse response = PowerMock.createMock(CloseableHttpResponse.class);
- EasyMock.expect(httpClient.execute(EasyMock.anyObject(HttpRequestBase.class))).andReturn(response);
- StatusLine sl = PowerMock.createMock(StatusLine.class);
- EasyMock.expect(response.getStatusLine()).andReturn(sl);
- EasyMock.expect(sl.getStatusCode()).andReturn(HttpStatus.SC_OK);
- HttpEntity responseEntity = new StringEntity("Test");
- EasyMock.expect(response.getEntity()).andReturn(responseEntity);
-
- PowerMock.replayAll();
-
-
- String url = "localhost";
- Map<String, String> header = new HashMap<>();
- header.put("accept", "application/json");
- Map<String, String> para = new HashMap<>();
- para.put("tset", "1111");
-
- HttpEntity entity = new StringEntity("Test");
- HttpPut httpPut = new HttpPut(url);
- HttpResponse httpResponse = HttpsUtils.put(httpPut, header, para, entity, httpClient);
- String res = HttpsUtils.extractResponseEntity(httpResponse);
-
- PowerMock.verifyAll();
-
- assertThat(res, equalTo("Test"));
- }
-
- @Test
- public void testHttpsUtil_getResponseEntity_input_null() throws Exception {
- PowerMock.resetAll();
- httpsUtils = PowerMock.createMock(HttpsUtils.class);
- PowerMock.replayAll();
- String actual = Whitebox.invokeMethod(httpsUtils, "extractResponseEntity", null);
- PowerMock.verifyAll();
- assertThat(actual, equalTo(""));
- }
-
-
- @Test
- public void testHttpsUtil_getHttpClient_exception() throws Exception {
- PowerMock.resetAll();
- thrown.expect(Exception.class);
- Whitebox.invokeMethod(HttpsUtils.class, "getConditionalHttpsClient");
- PowerMock.verifyAll();
- }
-
- @Test
- public void testHttpsUtil_getHttpClient_ok() throws Exception {
- PowerMock.resetAll();
- HttpsUtils.getConditionalHttpsClient(HttpsUtils.DEFUALT_TIMEOUT);
- PowerMock.verifyAll();
- }
-
-} \ No newline at end of file