use of com.github.mjeanroy.junit.servers.utils.commons.Pair in project junit-servers by mjeanroy.
the class WireMockTestUtils method assertRequestWithCookies.
/**
* Verify that a given request has been triggered.
*
* @param endpoint Request endpoint.
* @param method Request method.
* @param cookies Cookies sent in HTTP request.
*/
static void assertRequestWithCookies(String endpoint, HttpMethod method, Iterable<Pair> cookies) {
UrlPattern urlPattern = urlEqualTo(endpoint);
RequestMethod rqMethod = new RequestMethod(method.name());
RequestPatternBuilder rq = new RequestPatternBuilder(rqMethod, urlPattern);
for (Pair cookie : cookies) {
String cookieName = cookie.getO1();
String cookieValue = cookie.getO2().get(0);
rq.withCookie(cookieName, equalTo(cookieValue));
}
WireMock.verify(1, rq);
}
use of com.github.mjeanroy.junit.servers.utils.commons.Pair in project junit-servers by mjeanroy.
the class WireMockTestUtils method stubRequest.
private static void stubRequest(String method, String endpoint, int status, Collection<Pair> headers, String body) {
UrlPattern urlPattern = urlEqualTo(endpoint);
MappingBuilder request = request(method, urlPattern);
ResponseDefinitionBuilder response = aResponse().withStatus(status);
HttpHeaders httpHeaders = new HttpHeaders();
for (Pair header : headers) {
String name = header.getO1();
List<String> values = header.getO2();
HttpHeader h = new HttpHeader(name, values);
httpHeaders = httpHeaders.plus(h);
}
response.withHeaders(httpHeaders);
if (body != null) {
response.withBody(body);
}
stubFor(request.willReturn(response));
}
use of com.github.mjeanroy.junit.servers.utils.commons.Pair in project junit-servers by mjeanroy.
the class BaseHttpClientTest method testRequestExecuteAs.
private void testRequestExecuteAs(String contentType, MapperFunction<HttpRequest, HttpResponse> func) {
// GIVEN
final String endpoint = ENDPOINT;
final int rspStatus = 200;
final Collection<Pair> headers = singleton(pair(CONTENT_TYPE, APPLICATION_JSON));
final String rspBody = "[]";
stubGetRequest(endpoint, rspStatus, headers, rspBody);
// WHEN
final HttpRequest rq = createDefaultClient().prepareGet(ENDPOINT);
final HttpResponse rsp = func.apply(rq);
// THEN
assertThat(rsp).isNotNull();
assertThat(rsp.status()).isEqualTo(rspStatus);
assertThat(rsp.body()).isEqualTo(rspBody);
assertRequestWithHeader(endpoint, HttpMethod.GET, CONTENT_TYPE, contentType);
}
use of com.github.mjeanroy.junit.servers.utils.commons.Pair in project junit-servers by mjeanroy.
the class BaseHttpClientTest method testPostWithoutBodyElement.
@Test
void testPostWithoutBodyElement() {
final String endpoint = ENDPOINT;
final int status = 201;
final Collection<Pair> headers = singleton(pair(CONTENT_TYPE, APPLICATION_JSON));
final String body = "{\"id\": 1, \"name\": \"Jane Doe\"}";
stubPostRequest(endpoint, status, headers, body);
final HttpResponse rsp = createDefaultClient().preparePost(endpoint).acceptJson().asJson().asXmlHttpRequest().execute();
assertRequest(endpoint, HttpMethod.POST);
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.utils.commons.Pair in project junit-servers by mjeanroy.
the class BaseHttpClientTest method testDelete.
@Test
void testDelete() {
final int status = 204;
final Collection<Pair> headers = emptyList();
final String endpoint = ENDPOINT + "/1";
stubDeleteRequest(endpoint, status, headers);
final HttpResponse rsp = createDefaultClient().prepareDelete(endpoint).acceptJson().asJson().asXmlHttpRequest().execute();
assertRequest(endpoint, HttpMethod.DELETE);
assertThat(rsp.status()).isEqualTo(status);
assertThat(rsp.body()).isEmpty();
assertThat(rsp.getContentType()).isNull();
}
Aggregations