Mockserver Module
Mock Server can be used to mock HTTP services by matching requests against user-defined expectations.
Usage example
The following example shows how to start Mockserver.
@Rule
public MockServerContainer mockServer = new MockServerContainer(MOCKSERVER_IMAGE);
And how to set a simple expectation using the Java MockServerClient.
new MockServerClient(mockServer.getHost(), mockServer.getServerPort())
.when(request()
.withPath("/person")
.withQueryStringParameter("name", "peter"))
.respond(response()
.withBody("Peter the person!"));
// ...a GET request to '/person?name=peter' returns "Peter the person!"
Adding this module to your project dependencies
Add the following dependency to your pom.xml
/build.gradle
file:
testImplementation "org.testcontainers:mockserver:1.17.4"
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mockserver</artifactId>
<version>1.17.4</version>
<scope>test</scope>
</dependency>
Additionally, don't forget to add a client dependency org.mock-server:mockserver-client-java
to be able to set expectations, it's not provided by the testcontainers module. Client version should match to the version in a container tag.