use of com.github.mjeanroy.junit.servers.client.HttpResponse in project junit-servers by mjeanroy.
the class BaseHttpClientTest method testPatchWithRawBody.
@Test
void testPatchWithRawBody() {
final String endpoint = ENDPOINT;
final int status = 201;
final Collection<Pair> headers = singleton(pair(CONTENT_TYPE, APPLICATION_JSON));
final String responseBody = "{\"id\": 1, \"name\": \"Jane Doe\"}";
final String rawBody = "{\"name\": \"Jane Doe\"}";
final HttpRequestBody body = jsonBody(rawBody);
stubPatchRequest(endpoint, status, headers, responseBody);
final HttpResponse rsp = createDefaultClient().preparePatch(endpoint).acceptJson().asJson().asXmlHttpRequest().setBody(body).execute();
assertRequest(endpoint, HttpMethod.PATCH);
assertThat(rsp.status()).isEqualTo(status);
assertThat(rsp.body()).isEqualTo(responseBody);
assertThat(rsp.getContentType().getFirstValue()).isEqualTo(APPLICATION_JSON);
assertThat(rsp.getContentType().getLastValue()).isEqualTo(APPLICATION_JSON);
}
use of com.github.mjeanroy.junit.servers.client.HttpResponse in project junit-servers by mjeanroy.
the class BaseHttpClientTest method testGetWithNonEncodedPath.
@Test
void testGetWithNonEncodedPath() {
final String endpoint = ENDPOINT + "/john doe";
final String encodedPath = encodePath(endpoint);
final int status = 200;
final Collection<Pair> headers = singleton(pair(CONTENT_TYPE, APPLICATION_JSON));
final String body = "[{\"id\": 1, \"name\": \"John Doe\"}]";
stubGetRequest(encodedPath, status, headers, body);
final HttpResponse rsp = createDefaultClient().prepareGet(endpoint).acceptJson().asXmlHttpRequest().execute();
assertRequest(encodedPath, HttpMethod.GET);
assertThat(rsp.status()).isEqualTo(status);
assertThat(rsp.body()).isEqualTo(body);
assertThat(rsp.getContentType().getFirstValue()).isEqualTo(APPLICATION_JSON);
assertThat(rsp.getContentType().getLastValue()).isEqualTo(APPLICATION_JSON);
}
use of com.github.mjeanroy.junit.servers.client.HttpResponse in project junit-servers by mjeanroy.
the class BaseHttpClientTest method testResponseHeader.
private void testResponseHeader(String name, String value, MapperFunction<HttpResponse, HttpHeader> func) {
final String endpoint = ENDPOINT;
final int status = 200;
final Collection<Pair> headers = singleton(pair(name, value));
final String body = null;
stubGetRequest(endpoint, status, headers, body);
final HttpResponse rsp = createDefaultClient().prepareGet(endpoint).addAcceptEncoding("identity").executeJson();
final HttpHeader header = rsp.getHeader(name);
assertThat(rsp.containsHeader(name)).isTrue();
assertThat(func.apply(rsp)).isEqualTo(header);
assertThat(header.getName()).isEqualTo(name);
assertThat(header.getValues()).isEqualTo(singletonList(value));
assertThat(header.getFirstValue()).isEqualTo(value);
assertThat(header.getLastValue()).isEqualTo(value);
assertThat(rsp.getHeaders()).extracting("name", "values").contains(tuple(name, singletonList(value)));
}
use of com.github.mjeanroy.junit.servers.client.HttpResponse in project junit-servers by mjeanroy.
the class AsyncHttpRequest method doExecute.
@Override
protected HttpResponse doExecute() throws Exception {
final HttpUrl endpoint = getEndpoint();
final String scheme = endpoint.getScheme();
final String userInfo = null;
final String host = endpoint.getHost();
final int port = endpoint.getPort();
final String path = Utf8UrlEncoder.encodePath(endpoint.getPath());
final String query = null;
final String fragment = null;
final Uri uri = new Uri(scheme, userInfo, host, port, path, query, fragment);
final String method = getMethod().getVerb();
final RequestBuilder builder = new RequestBuilder(method, true).setUri(uri);
handleQueryParameters(builder);
handleBody(builder);
handleHeaders(builder);
handleCookies(builder);
final Request request = builder.build();
final ListenableFuture<Response> future = client.executeRequest(request);
final long start = nanoTime();
final Response response = future.get();
final long duration = nanoTime() - start;
return AsyncHttpResponseFactory.of(response, duration);
}
use of com.github.mjeanroy.junit.servers.client.HttpResponse in project junit-servers by mjeanroy.
the class NingAsyncHttpRequest method doExecute.
@Override
protected HttpResponse doExecute() throws Exception {
final HttpUrl endpoint = getEndpoint();
final String scheme = endpoint.getScheme();
final String userInfo = null;
final String host = endpoint.getHost();
final int port = endpoint.getPort();
final String path = UTF8UrlEncoder.encodePath(endpoint.getPath());
final String query = null;
final Uri uri = new Uri(scheme, userInfo, host, port, path, query);
final String method = getMethod().getVerb();
final RequestBuilder builder = new RequestBuilder(method, true).setUri(uri);
handleQueryParameters(builder);
handleBody(builder);
handleHeaders(builder);
handleCookies(builder);
final Request request = builder.build();
final long start = nanoTime();
final Response response = client.executeRequest(request).get();
final long duration = nanoTime() - start;
return NingAsyncHttpResponseFactory.of(response, duration);
}
Aggregations