summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--participant/participant-impl/participant-impl-http/src/test/java/webclient/ClHttpClientTest.java52
1 files changed, 48 insertions, 4 deletions
diff --git a/participant/participant-impl/participant-impl-http/src/test/java/webclient/ClHttpClientTest.java b/participant/participant-impl/participant-impl-http/src/test/java/webclient/ClHttpClientTest.java
index 411974a04..cf9619d41 100644
--- a/participant/participant-impl/participant-impl-http/src/test/java/webclient/ClHttpClientTest.java
+++ b/participant/participant-impl/participant-impl-http/src/test/java/webclient/ClHttpClientTest.java
@@ -22,16 +22,26 @@ package webclient;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
+import static org.mockserver.model.HttpRequest.request;
+import static org.mockserver.model.HttpResponse.response;
+import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import javax.ws.rs.core.MediaType;
import org.apache.commons.lang3.tuple.Pair;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockserver.integration.ClientAndServer;
+import org.mockserver.model.Parameter;
import org.onap.policy.clamp.controlloop.participant.http.main.models.ConfigRequest;
import org.onap.policy.clamp.controlloop.participant.http.main.models.ConfigurationEntity;
import org.onap.policy.clamp.controlloop.participant.http.main.webclient.ClHttpClient;
+import org.onap.policy.common.utils.network.NetworkUtil;
import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import utils.CommonTestData;
@@ -39,12 +49,46 @@ import utils.CommonTestData;
@ExtendWith(SpringExtension.class)
class ClHttpClientTest {
- private CommonTestData commonTestData = new CommonTestData();
+ private static CommonTestData commonTestData;
- private String testBaseUrl = "https://httpbin.org";
+ private static int mockServerPort;
+
+ private String testMockUrl = "http://localhost";
private Map<ToscaConceptIdentifier, Pair<Integer, String>> responseMap = new HashMap<>();
+ private static ClientAndServer mockServer;
+
+ /**
+ * Set up Mock server.
+ */
+ @BeforeAll
+ static void setUpMockServer() throws IOException {
+ mockServerPort = NetworkUtil.allocPort();
+ mockServer = ClientAndServer.startClientAndServer(mockServerPort);
+ commonTestData = new CommonTestData();
+ List<Parameter> queryParams = new ArrayList<>();
+ commonTestData.getQueryParams().forEach((k, v) -> queryParams.add(new Parameter(k, v)));
+
+ mockServer.when(request().withMethod("GET").withPath("/get")
+ .withHeader("Content-type", MediaType.APPLICATION_JSON)
+ .withHeader("Accept", MediaType.APPLICATION_JSON).withQueryStringParameters(queryParams))
+ .respond(response().withBody("dummy body").withStatusCode(200)
+ .withHeader("Content-Type", MediaType.APPLICATION_JSON));
+
+ mockServer.when(request().withMethod("POST").withPath("/post")
+ .withHeader("Content-type", MediaType.APPLICATION_JSON)
+ .withHeader("Accept", MediaType.APPLICATION_JSON).withQueryStringParameters(queryParams)
+ .withBody("Test body"))
+ .respond(response().withStatusCode(200));
+ }
+
+ @AfterAll
+ public static void stopServer() {
+ mockServer.stop();
+ mockServer = null;
+ }
+
@Test
void test_validRequest() {
@@ -52,7 +96,7 @@ class ClHttpClientTest {
ConfigurationEntity configurationEntity = commonTestData.getConfigurationEntity();
Map<String, String> headers = commonTestData.getHeaders();
- ConfigRequest configRequest = new ConfigRequest(testBaseUrl, headers,
+ ConfigRequest configRequest = new ConfigRequest(testMockUrl + ":" + mockServerPort, headers,
List.of(configurationEntity), 10);
ClHttpClient client = new ClHttpClient(configRequest, responseMap);
@@ -71,7 +115,7 @@ class ClHttpClientTest {
ConfigurationEntity configurationEntity = commonTestData.getInvalidConfigurationEntity();
Map<String, String> headers = commonTestData.getHeaders();
- ConfigRequest configRequest = new ConfigRequest(testBaseUrl, headers,
+ ConfigRequest configRequest = new ConfigRequest(testMockUrl + ":" + mockServerPort, headers,
List.of(configurationEntity), 10);
ClHttpClient client = new ClHttpClient(configRequest, responseMap);