I'm trying to start simple test with mock-server. I use dependency:
testCompile group: 'org.mock-server', name: 'mockserver-netty', version: '5.6.1'
I have taken test example from the guide. My test is very simple:
public class MockServerTest {
private static ClientAndServer mockServer;
@BeforeClass
public static void startServer() {
mockServer = startClientAndServer(1080);
}
private void simple() {
new MockServerClient("127.0.0.1", 1080)
.when(
request()
.withMethod("GET")
.withPath("/do"),
exactly(1)
)
.respond(
response()
.withStatusCode(200)
.withHeaders(
new Header("Content-Type", "application/json; charset=utf-8"),
new Header("Cache-Control", "public, max-age=86400"),
new Header("Set-Cookie","SESSION=Njg1Mjg4NWQtZjRhOS00MDZhLWJhOGQtZmFmNWIzZjRmYTI4; Max-Age=1800; Expires=Wed, 4 Sep 2019 17:09:58 +0400; Path=/; HttpOnly; SameSite=Lax\n")
)
.withDelay(TimeUnit.SECONDS,1)
);
}
private org.apache.http.HttpResponse hitTheServerWithGetRequest(String page) {
String url = "http://127.0.0.1:1080/"+page;
HttpClient client = HttpClientBuilder.create().build();
org.apache.http.HttpResponse response=null;
HttpGet get = new HttpGet(url);
try {
response=client.execute(get);
} catch (IOException e) {
throw new RuntimeException(e);
}
return response;
}
@Test
public void simpleTest() {
simple();
HttpResponse resp = hitTheServerWithGetRequest("do");
new MockServerClient("localhost", 1080).verify(
request()
.withMethod("GET")
.withPath("/do"),
VerificationTimes.exactly(1)
);
}
@AfterClass
public static void stopServer() {
mockServer.stop();
}
}
But this test doesn't work. It starts but never finishes. After I start the test I can do requests with Postman, and I see logs in the console and obtain response - Not found (but must be Ok with specified headers). What is wrong with my code o with mockserver-netty?