1
package org.testcontainers.containers;
4
import org.mockserver.client.MockServerClient;
5
import org.testcontainers.utility.DockerImageName;
7
import static org.assertj.core.api.Assertions.assertThat;
8
import static org.mockserver.model.HttpRequest.request;
9
import static org.mockserver.model.HttpResponse.response;
11
public class MockServerContainerTest {
13
public static final DockerImageName MOCKSERVER_IMAGE = DockerImageName
14
.parse("mockserver/mockserver")
15
.withTag("mockserver-" + MockServerClient.class.getPackage().getImplementationVersion());
18
public void shouldCallActualMockserverVersion() throws Exception {
19
try (MockServerContainer mockServer = new MockServerContainer(MOCKSERVER_IMAGE)) {
22
String expectedBody = "Hello World!";
24
try (MockServerClient client = new MockServerClient(mockServer.getHost(), mockServer.getServerPort())) {
25
assertThat(client.hasStarted()).as("Mockserver running").isTrue();
27
client.when(request().withPath("/hello")).respond(response().withBody(expectedBody));
29
assertThat(SimpleHttpClient.responseFromMockserver(mockServer, "/hello"))
30
.as("MockServer returns correct result")
31
.isEqualTo(expectedBody);
37
public void shouldCallMockserverUsingTlsProtocol() throws Exception {
38
try (MockServerContainer mockServer = new MockServerContainer(MOCKSERVER_IMAGE)) {
41
String expectedBody = "Hello World!";
44
MockServerClient client = new MockServerClient(mockServer.getHost(), mockServer.getServerPort())
47
assertThat(client.hasStarted()).as("Mockserver running").isTrue();
49
client.when(request().withPath("/hello")).respond(response().withBody(expectedBody));
51
assertThat(SimpleHttpClient.secureResponseFromMockserver(mockServer, "/hello"))
52
.as("MockServer returns correct result")
53
.isEqualTo(expectedBody);
59
public void shouldCallMockserverUsingMutualTlsProtocol() throws Exception {
61
MockServerContainer mockServer = new MockServerContainer(MOCKSERVER_IMAGE)
62
.withEnv("MOCKSERVER_TLS_MUTUAL_AUTHENTICATION_REQUIRED", "true")
66
String expectedBody = "Hello World!";
69
MockServerClient client = new MockServerClient(mockServer.getHost(), mockServer.getServerPort())
72
assertThat(client.hasStarted()).as("Mockserver running").isTrue();
74
client.when(request().withPath("/hello")).respond(response().withBody(expectedBody));
76
assertThat(SimpleHttpClient.secureResponseFromMockserver(mockServer, "/hello"))
77
.as("MockServer returns correct result")
78
.isEqualTo(expectedBody);
84
public void newVersionStartsWithDefaultWaitStrategy() {
85
try (MockServerContainer mockServer = new MockServerContainer(MOCKSERVER_IMAGE)) {