@Test
public void testPost() throws Exception {

    MockResponse mockResponse = new MockResponse()
            .setBody(TEST_RESPONSE_BODY)
            .setResponseCode(StatusCode.OK.getCode());
    server.enqueue(mockResponse);
    RxHttpClient client = RxOkHttpClient.newBuilder()
            .build();
    Request request = new Request.Builder()
            .url(server.url("/").toString())
            .post()
            .body(RequestBody.create(TEST_REQUEST_BODY))
            .build();
    Response response = client.execute(request).toBlocking().first();
    Assertions.assertThat(response.isSuccessful()).isTrue();
    String actualResponseBody = response.getBody().get(String.class);
    Assertions.assertThat(actualResponseBody).isEqualTo(TEST_RESPONSE_BODY);
    RecordedRequest recordedRequest = server.takeRequest(1, TimeUnit.MILLISECONDS);
    Assertions.assertThat(recordedRequest).isNotNull();
    String actualRequestBody = recordedRequest.getBody().readUtf8();
    Assertions.assertThat(actualRequestBody).isEqualTo(TEST_REQUEST_BODY);
}