testcontainers-java
1package org.testcontainers.containers;
2
3import org.junit.Rule;
4import org.junit.Test;
5import org.mockserver.client.MockServerClient;
6import org.testcontainers.utility.DockerImageName;
7
8import static org.assertj.core.api.Assertions.assertThat;
9import static org.mockserver.model.HttpRequest.request;
10import static org.mockserver.model.HttpResponse.response;
11
12public class MockServerContainerRuleTest {
13
14// creatingProxy {
15public static final DockerImageName MOCKSERVER_IMAGE = DockerImageName
16.parse("mockserver/mockserver")
17.withTag("mockserver-" + MockServerClient.class.getPackage().getImplementationVersion());
18
19@Rule
20public MockServerContainer mockServer = new MockServerContainer(MOCKSERVER_IMAGE);
21
22// }
23
24@Test
25public void shouldReturnExpectation() throws Exception {
26// testSimpleExpectation {
27try (
28MockServerClient mockServerClient = new MockServerClient(mockServer.getHost(), mockServer.getServerPort())
29) {
30mockServerClient
31.when(request().withPath("/person").withQueryStringParameter("name", "peter"))
32.respond(response().withBody("Peter the person!"));
33
34// ...a GET request to '/person?name=peter' returns "Peter the person!"
35
36assertThat(SimpleHttpClient.responseFromMockserver(mockServer, "/person?name=peter"))
37.as("Expectation returns expected response body")
38.contains("Peter the person");
39}
40// }
41}
42}
43