summaryrefslogtreecommitdiffstats
path: root/holmes-actions/src/test/java
diff options
context:
space:
mode:
authorShiwei Tian <tian.shiwei@zte.com.cn>2018-03-05 19:38:25 +0800
committerShiwei Tian <tian.shiwei@zte.com.cn>2018-03-05 19:38:25 +0800
commitbf20ddf00200c5468da7a0090caf28beebb93e9c (patch)
tree11826395b90f04a917ff1d5731009e999f70bd53 /holmes-actions/src/test/java
parente37f1a4ce3da909a945e2faf7d3166a3b1a96a93 (diff)
Change HTTP Requests into HTTPS Ones
Issue-ID: HOLMES-104 Change-Id: Iab79fb0d9cda1f99d99110b2006f1231aaa1a305 Signed-off-by: Shiwei Tian <tian.shiwei@zte.com.cn>
Diffstat (limited to 'holmes-actions/src/test/java')
-rw-r--r--holmes-actions/src/test/java/org/onap/holmes/common/aai/AaiQueryTest.java13
-rw-r--r--holmes-actions/src/test/java/org/onap/holmes/common/dmaap/PublisherTest.java27
-rw-r--r--holmes-actions/src/test/java/org/onap/holmes/common/utils/HttpsUtilsTest.java133
3 files changed, 147 insertions, 26 deletions
diff --git a/holmes-actions/src/test/java/org/onap/holmes/common/aai/AaiQueryTest.java b/holmes-actions/src/test/java/org/onap/holmes/common/aai/AaiQueryTest.java
index e0d5bf7..44e39b1 100644
--- a/holmes-actions/src/test/java/org/onap/holmes/common/aai/AaiQueryTest.java
+++ b/holmes-actions/src/test/java/org/onap/holmes/common/aai/AaiQueryTest.java
@@ -22,6 +22,7 @@ import static org.powermock.api.mockito.PowerMockito.when;
import java.util.HashMap;
import java.util.Map;
+import org.apache.http.HttpResponse;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
@@ -94,7 +95,9 @@ public class AaiQueryTest {
headers.put("Authorization", AaiConfig.getAuthenticationCredentials());
headers.put("Accept", "application/json");
String url = "http://10.96.33.33/api/aai-cloudInfrastructure/v11";
- when(HttpsUtils.get(url, headers)).thenReturn("{}");
+ HttpResponse httpResponse = PowerMock.createMock(HttpResponse.class);
+ when(HttpsUtils.get(url, headers)).thenReturn(httpResponse);
+ when(HttpsUtils.extractResponseEntity(httpResponse)).thenReturn("{}");
PowerMockito.mockStatic(MicroServiceConfig.class);
when(MicroServiceConfig.getMsbServerAddrWithHttpPrefix()).thenReturn("http://10.96.33.33:80");
@@ -108,10 +111,6 @@ public class AaiQueryTest {
assertThat(vmEntity == null, equalTo(true));
}
-
-
-
-
@Test
public void testAaiQuery_getAaiVmData_httpsutils_exception() throws Exception {
PowerMock.resetAll();
@@ -212,7 +211,9 @@ public class AaiQueryTest {
headers.put("Accept", "application/json");
String url = "host_url";
- when(HttpsUtils.get(url, headers)).thenReturn("");
+ HttpResponse httpResponse = PowerMock.createMock(HttpResponse.class);
+ when(HttpsUtils.get(url, headers)).thenReturn(httpResponse);
+ when(HttpsUtils.extractResponseEntity(httpResponse)).thenReturn("");
PowerMock.replayAll();
String resource = Whitebox.invokeMethod(aaiQuery, "getResponse", "host_url");
diff --git a/holmes-actions/src/test/java/org/onap/holmes/common/dmaap/PublisherTest.java b/holmes-actions/src/test/java/org/onap/holmes/common/dmaap/PublisherTest.java
index a36ecc7..164c176 100644
--- a/holmes-actions/src/test/java/org/onap/holmes/common/dmaap/PublisherTest.java
+++ b/holmes-actions/src/test/java/org/onap/holmes/common/dmaap/PublisherTest.java
@@ -18,6 +18,7 @@ package org.onap.holmes.common.dmaap;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
+import java.util.HashMap;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
@@ -25,19 +26,25 @@ import javax.ws.rs.client.Invocation.Builder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
+import org.apache.http.StatusLine;
+import org.apache.http.entity.StringEntity;
import org.easymock.EasyMock;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
+import org.mockito.Matchers;
import org.onap.holmes.common.dmaap.entity.PolicyMsg;
import org.onap.holmes.common.exception.CorrelationException;
+import org.onap.holmes.common.utils.HttpsUtils;
import org.powermock.api.easymock.PowerMock;
+import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
-@PrepareForTest({Client.class, WebTarget.class, ClientBuilder.class, Response.class, Builder.class})
+@PrepareForTest({HttpsUtils.class, HttpResponse.class})
@RunWith(PowerMockRunner.class)
public class PublisherTest {
@@ -64,17 +71,13 @@ public class PublisherTest {
Publisher publisher = new Publisher();
publisher.setUrl(URL);
- WebTarget target = PowerMock.createMock(WebTarget.class);
- Client client = PowerMock.createMock(Client.class);
- Builder builder = PowerMock.createMock(Builder.class);
- Response response = PowerMock.createMock(Response.class);
- PowerMock.mockStatic(ClientBuilder.class);
-
- EasyMock.expect(ClientBuilder.newClient()).andReturn(client);
- EasyMock.expect(client.target(publisher.getUrl())).andReturn(target);
- EasyMock.expect(target.request(MediaType.APPLICATION_JSON)).andReturn(builder);
- EasyMock.expect(builder.post(EasyMock.anyObject(Entity.class))).andReturn(response);
- EasyMock.expect(response.getStatus()).andReturn(HttpStatus.SC_OK);
+ PowerMockito.mockStatic(HttpsUtils.class);
+ HttpResponse httpResponse = PowerMockito.mock(HttpResponse.class);
+ PowerMockito.when(HttpsUtils.post(Matchers.eq("http://localhost/dmaapTopic"),
+ Matchers.any(HashMap.class), Matchers.any(HashMap.class), Matchers.any(StringEntity.class))).thenReturn(httpResponse);
+ StatusLine statusLine = PowerMockito.mock(StatusLine.class);
+ PowerMockito.when(httpResponse.getStatusLine()).thenReturn(statusLine);
+ PowerMockito.when(statusLine.getStatusCode()).thenReturn(HttpStatus.SC_OK);
PowerMock.replayAll();
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
index 464a6f0..21bf0e2 100644
--- 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
@@ -26,7 +26,7 @@ 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.HttpClient;
+import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
@@ -65,11 +65,12 @@ public class HttpsUtilsTest {
@Test
public void testHttpsUtil_get_excepiton() throws Exception {
thrown.expect(CorrelationException.class);
- thrown.expectMessage("Failed to use get method query data from server");
+ thrown.expectMessage("Failed to query data from server through GET method!");
String url = "host";
Map<String, String> header = new HashMap<>();
header.put("accept", "application/json");
- String response = HttpsUtils.get(url, header);
+ HttpResponse httpResponse = HttpsUtils.get(url, header);
+ String response = HttpsUtils.extractResponseEntity(httpResponse);
assertThat(response, equalTo(""));
}
@@ -79,6 +80,7 @@ public class HttpsUtilsTest {
CloseableHttpClient httpClient = PowerMock.createMock(CloseableHttpClient.class);
PowerMock.mockStatic(HttpClients.class);
EasyMock.expect(HttpClients.custom()).andReturn(hcb);
+ EasyMock.expect(hcb.setDefaultRequestConfig(EasyMock.anyObject(RequestConfig.class))).andReturn(hcb);
EasyMock.expect(hcb.setSSLSocketFactory(EasyMock.anyObject(SSLConnectionSocketFactory.class))).andReturn(hcb);
EasyMock.expect(hcb.setConnectionManager(EasyMock.anyObject(PoolingHttpClientConnectionManager.class))).andReturn(hcb);
EasyMock.expect(hcb.setConnectionManagerShared(true)).andReturn(hcb);
@@ -103,7 +105,59 @@ public class HttpsUtilsTest {
header.put("accept", "application/json");
HttpEntity entity = new StringEntity("Test");
- String res = HttpsUtils.get(url, header);
+ HttpResponse httpResponse = HttpsUtils.get(url, header);
+ String res = HttpsUtils.extractResponseEntity(httpResponse);
+
+ PowerMock.verifyAll();
+
+ assertThat(res, equalTo("Test"));
+ }
+
+ @Test
+ public void testHttpsUtil_delete_excepiton() throws Exception {
+ thrown.expect(CorrelationException.class);
+ thrown.expectMessage("Failed to query data from server through DELETE method!");
+ String url = "host";
+ Map<String, String> header = new HashMap<>();
+ header.put("accept", "application/json");
+ HttpResponse httpResponse = HttpsUtils.delete(url, header);
+ String response = HttpsUtils.extractResponseEntity(httpResponse);
+ assertThat(response, equalTo(""));
+ }
+
+ @Test
+ public void testHttpsUtil_delete_normal() throws Exception {
+ HttpClientBuilder hcb = PowerMock.createMock(HttpClientBuilder.class);
+ CloseableHttpClient httpClient = PowerMock.createMock(CloseableHttpClient.class);
+ PowerMock.mockStatic(HttpClients.class);
+ EasyMock.expect(HttpClients.custom()).andReturn(hcb);
+ EasyMock.expect(hcb.setDefaultRequestConfig(EasyMock.anyObject(RequestConfig.class))).andReturn(hcb);
+ EasyMock.expect(hcb.setSSLSocketFactory(EasyMock.anyObject(SSLConnectionSocketFactory.class))).andReturn(hcb);
+ EasyMock.expect(hcb.setConnectionManager(EasyMock.anyObject(PoolingHttpClientConnectionManager.class))).andReturn(hcb);
+ EasyMock.expect(hcb.setConnectionManagerShared(true)).andReturn(hcb);
+ EasyMock.expect(hcb.build()).andReturn(httpClient);
+
+ 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);
+
+ httpClient.close();
+ EasyMock.expectLastCall();
+
+ PowerMock.replayAll();
+
+
+ String url = "localhost";
+ Map<String, String> header = new HashMap<>();
+ header.put("accept", "application/json");
+
+ HttpEntity entity = new StringEntity("Test");
+ HttpResponse httpResponse = HttpsUtils.delete(url, header);
+ String res = HttpsUtils.extractResponseEntity(httpResponse);
PowerMock.verifyAll();
@@ -113,13 +167,15 @@ public class HttpsUtilsTest {
@Test
public void testHttpsUtil_post_excepiton() throws Exception {
thrown.expect(CorrelationException.class);
- thrown.expectMessage("Failed to use post method query data from server");
+ thrown.expectMessage("Failed to query data from server through POST method!");
String url = "host";
Map<String, String> header = new HashMap<>();
header.put("accept", "application/json");
Map<String, String> para = new HashMap<>();
para.put("tset", "1111");
- String response = HttpsUtils.post(url, header, para, null);
+
+ HttpResponse httpResponse = HttpsUtils.post(url, header, para, null);
+ String response = HttpsUtils.extractResponseEntity(httpResponse);
assertThat(response, equalTo(""));
}
@@ -129,6 +185,7 @@ public class HttpsUtilsTest {
CloseableHttpClient httpClient = PowerMock.createMock(CloseableHttpClient.class);
PowerMock.mockStatic(HttpClients.class);
EasyMock.expect(HttpClients.custom()).andReturn(hcb);
+ EasyMock.expect(hcb.setDefaultRequestConfig(EasyMock.anyObject(RequestConfig.class))).andReturn(hcb);
EasyMock.expect(hcb.setSSLSocketFactory(EasyMock.anyObject(SSLConnectionSocketFactory.class))).andReturn(hcb);
EasyMock.expect(hcb.setConnectionManager(EasyMock.anyObject(PoolingHttpClientConnectionManager.class))).andReturn(hcb);
EasyMock.expect(hcb.setConnectionManagerShared(true)).andReturn(hcb);
@@ -142,6 +199,65 @@ public class HttpsUtilsTest {
HttpEntity responseEntity = new StringEntity("Test");
EasyMock.expect(response.getEntity()).andReturn(responseEntity);
+ httpClient.close();
+ EasyMock.expectLastCall();
+
+ 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");
+ HttpResponse httpResponse = HttpsUtils.post(url, header, para, entity);
+ 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 query data from server through PUT method!");
+ String url = "host";
+ Map<String, String> header = new HashMap<>();
+ header.put("accept", "application/json");
+ Map<String, String> para = new HashMap<>();
+ para.put("tset", "1111");
+
+ HttpResponse httpResponse = HttpsUtils.put(url, header, para, null);
+ String response = HttpsUtils.extractResponseEntity(httpResponse);
+ assertThat(response, equalTo(""));
+ }
+
+ @Test
+ public void testHttpsUtil_put_normal() throws Exception {
+ HttpClientBuilder hcb = PowerMock.createMock(HttpClientBuilder.class);
+ CloseableHttpClient httpClient = PowerMock.createMock(CloseableHttpClient.class);
+ PowerMock.mockStatic(HttpClients.class);
+ EasyMock.expect(HttpClients.custom()).andReturn(hcb);
+ EasyMock.expect(hcb.setDefaultRequestConfig(EasyMock.anyObject(RequestConfig.class))).andReturn(hcb);
+ EasyMock.expect(hcb.setSSLSocketFactory(EasyMock.anyObject(SSLConnectionSocketFactory.class))).andReturn(hcb);
+ EasyMock.expect(hcb.setConnectionManager(EasyMock.anyObject(PoolingHttpClientConnectionManager.class))).andReturn(hcb);
+ EasyMock.expect(hcb.setConnectionManagerShared(true)).andReturn(hcb);
+ EasyMock.expect(hcb.build()).andReturn(httpClient);
+
+ 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);
+
+ httpClient.close();
+ EasyMock.expectLastCall();
+
PowerMock.replayAll();
@@ -152,7 +268,8 @@ public class HttpsUtilsTest {
para.put("tset", "1111");
HttpEntity entity = new StringEntity("Test");
- String res = HttpsUtils.post(url, header, para, entity);
+ HttpResponse httpResponse = HttpsUtils.put(url, header, para, entity);
+ String res = HttpsUtils.extractResponseEntity(httpResponse);
PowerMock.verifyAll();
@@ -164,7 +281,7 @@ public class HttpsUtilsTest {
PowerMock.resetAll();
httpsUtils = PowerMock.createMock(HttpsUtils.class);
PowerMock.replayAll();
- String actual = Whitebox.invokeMethod(httpsUtils, "getResponseEntity", null);
+ String actual = Whitebox.invokeMethod(httpsUtils, "extractResponseEntity", null);
PowerMock.verifyAll();
assertThat(actual, equalTo(""));
}