Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,8 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.output.Slf4jLogConsumer;
import org.wiremock.integrations.testcontainers.testsupport.http.TestHttpClient;

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.file.Paths;
import java.time.Duration;
Expand Down Expand Up @@ -55,15 +53,14 @@ public void before() {

@Test
public void testJSONBodyTransformer() throws Exception {
final HttpClient client = HttpClient.newBuilder().build();
final HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(wiremockServer.getUrl("/json-body-transformer")))
.timeout(Duration.ofSeconds(10))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString("{\"name\":\"John Doe\"}")).build();
// given
String url = wiremockServer.getUrl("/json-body-transformer");
String body = "{\"name\":\"John Doe\"}";

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
// when
HttpResponse<String> response = TestHttpClient.newInstance().post(url, body);

// then
assertThat(response.body())
.as("Wrong response body")
.contains("Hello, John Doe!");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,10 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.output.Slf4jLogConsumer;
import org.wiremock.integrations.testcontainers.testsupport.http.TestHttpClient;

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.file.Paths;
import java.time.Duration;
import java.util.Collections;

import static org.assertj.core.api.Assertions.assertThat;
Expand Down Expand Up @@ -57,15 +54,14 @@ public void before() {

@Test
public void testJSONBodyTransformer() throws Exception {
final HttpClient client = HttpClient.newBuilder().build();
final HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(wiremockServer.getUrl("/json-body-transformer")))
.timeout(Duration.ofSeconds(10))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString("{\"name\":\"John Doe\"}")).build();
// given
String url = wiremockServer.getUrl("/json-body-transformer");
String body = "{\"name\":\"John Doe\"}";

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
// when
HttpResponse<String> response = TestHttpClient.newInstance().post(url, body);

// then
assertThat(response.body())
.as("Wrong response body")
.contains("Hello, John Doe!");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,13 @@

import static org.assertj.core.api.Assertions.assertThat;

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.wiremock.integrations.testcontainers.testsupport.http.TestHttpClient;

@Testcontainers
public class WireMockContainerJUnit5Test {
Expand All @@ -30,36 +27,27 @@ public class WireMockContainerJUnit5Test {
"/hello"
})
public void helloWorld(String path) throws Exception {
final HttpClient client = HttpClient.newBuilder().build();
final HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(wiremockServer.getUrl(path)))
.timeout(Duration.ofSeconds(10))
.header("Content-Type", "application/json")
.GET().build();
// given
String url = wiremockServer.getUrl(path);

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
// when
HttpResponse<String> response = TestHttpClient.newInstance().get(url);

// then
assertThat(response.body())
.as("Wrong response body")
.contains("Hello, world!");
}

@Test
public void helloWorldFromFile() throws Exception {
final HttpClient client = HttpClient.newBuilder()
.version(HttpClient.Version.HTTP_1_1)
.build();
// given
String url = wiremockServer.getUrl("/hello-from-file");

HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(wiremockServer.getUrl("/hello-from-file")))
.timeout(Duration.ofSeconds(10))
.header("Content-Type", "application/json")
.GET()
.build();

HttpResponse<String> response =
client.send(request, HttpResponse.BodyHandlers.ofString());
// when
HttpResponse<String> response = TestHttpClient.newInstance().get(url);

// then
assertThat(response.body())
.as("Wrong response body")
.contains("Hello, world!");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,9 @@

import org.junit.Rule;
import org.junit.Test;
import org.wiremock.integrations.testcontainers.testsupport.http.TestHttpClient;

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;

import static org.assertj.core.api.Assertions.assertThat;

Expand All @@ -36,48 +33,41 @@ public class WireMockContainerTest {

@Test
public void helloWorld() throws Exception {
final HttpClient client = HttpClient.newBuilder().build();
final HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(wiremockServer.getUrl("/hello")))
.timeout(Duration.ofSeconds(10))
.header("Content-Type", "application/json")
.GET().build();
// given
String url = wiremockServer.getUrl("/hello");

final HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
// when
HttpResponse<String> response = TestHttpClient.newInstance().get(url);

// then
assertThat(response.body())
.as("Wrong response body")
.contains("Hello, world!");
}

@Test
public void helloWorldWithoutLeadingSlashInPath() throws Exception {
final HttpClient client = HttpClient.newBuilder().build();
final HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(wiremockServer.getUrl("hello")))
.timeout(Duration.ofSeconds(10))
.header("Content-Type", "application/json")
.GET().build();
// given
String url = wiremockServer.getUrl("hello");

final HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
// when
HttpResponse<String> response = TestHttpClient.newInstance().get(url);

// then
assertThat(response.body())
.as("Wrong response body")
.contains("Hello, world!");
}

@Test
public void helloWorldFromFile() throws Exception {
final HttpClient client = HttpClient.newBuilder().build();
final HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(wiremockServer.getUrl("/hello-from-file")))
.timeout(Duration.ofSeconds(10))
.header("Content-Type", "application/json")
.GET().build();
// given
String url = wiremockServer.getUrl("/hello-from-file");

final HttpResponse<String> response =
client.send(request, HttpResponse.BodyHandlers.ofString());
// when
HttpResponse<String> response = TestHttpClient.newInstance().get(url);

// then
assertThat(response.body())
.as("Wrong response body")
.contains("Hello, world!");
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package org.wiremock.integrations.testcontainers.testsupport.http;

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;

public final class TestHttpClient {
private final HttpClient client;

private TestHttpClient(HttpClient.Version version) {
client = HttpClient.newBuilder().version(version).build();
}

public static TestHttpClient newInstance() {
return new TestHttpClient(HttpClient.Version.HTTP_1_1);
}

public HttpResponse<String> send(HttpRequest request) throws IOException, InterruptedException {
return client.send(request, HttpResponse.BodyHandlers.ofString());
}

public HttpResponse<String> get(String uri) throws IOException, InterruptedException {
HttpRequest request = newRequestBuilder()
.uri(URI.create(uri))
.GET()
.build();
return send(request);
}

public HttpResponse<String> post(String uri, String body) throws IOException, InterruptedException {
HttpRequest request = newRequestBuilder()
.uri(URI.create(uri))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
return send(request);
}

private static HttpRequest.Builder newRequestBuilder() {
return HttpRequest.newBuilder()
.timeout(Duration.ofSeconds(10));
}
}