Search in sources :

Example 16 with Pair

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);
}
Also used : RequestMethod(com.github.tomakehurst.wiremock.http.RequestMethod) RequestPatternBuilder(com.github.tomakehurst.wiremock.matching.RequestPatternBuilder) UrlPattern(com.github.tomakehurst.wiremock.matching.UrlPattern) Pair(com.github.mjeanroy.junit.servers.utils.commons.Pair)

Example 17 with Pair

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));
}
Also used : ResponseDefinitionBuilder(com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder) HttpHeaders(com.github.tomakehurst.wiremock.http.HttpHeaders) MappingBuilder(com.github.tomakehurst.wiremock.client.MappingBuilder) HttpHeader(com.github.tomakehurst.wiremock.http.HttpHeader) UrlPattern(com.github.tomakehurst.wiremock.matching.UrlPattern) Pair(com.github.mjeanroy.junit.servers.utils.commons.Pair)

Example 18 with Pair

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);
}
Also used : HttpRequest(com.github.mjeanroy.junit.servers.client.HttpRequest) HttpResponse(com.github.mjeanroy.junit.servers.client.HttpResponse) Pair(com.github.mjeanroy.junit.servers.utils.commons.Pair)

Example 19 with Pair

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);
}
Also used : HttpResponse(com.github.mjeanroy.junit.servers.client.HttpResponse) Pair(com.github.mjeanroy.junit.servers.utils.commons.Pair) WireMockTest(com.github.mjeanroy.junit.servers.utils.jupiter.WireMockTest) Test(org.junit.jupiter.api.Test)

Example 20 with Pair

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();
}
Also used : HttpResponse(com.github.mjeanroy.junit.servers.client.HttpResponse) Pair(com.github.mjeanroy.junit.servers.utils.commons.Pair) WireMockTest(com.github.mjeanroy.junit.servers.utils.jupiter.WireMockTest) Test(org.junit.jupiter.api.Test)

Aggregations

Pair (com.github.mjeanroy.junit.servers.utils.commons.Pair)27 HttpResponse (com.github.mjeanroy.junit.servers.client.HttpResponse)25 WireMockTest (com.github.mjeanroy.junit.servers.utils.jupiter.WireMockTest)20 Test (org.junit.jupiter.api.Test)20 HttpRequestBody (com.github.mjeanroy.junit.servers.client.HttpRequestBody)4 HttpRequest (com.github.mjeanroy.junit.servers.client.HttpRequest)3 HttpHeader (com.github.mjeanroy.junit.servers.client.HttpHeader)2 UrlPattern (com.github.tomakehurst.wiremock.matching.UrlPattern)2 Cookie (com.github.mjeanroy.junit.servers.client.Cookie)1 WireMockTestUtils.assertRequestWithCookie (com.github.mjeanroy.junit.servers.client.it.WireMockTestUtils.assertRequestWithCookie)1 MappingBuilder (com.github.tomakehurst.wiremock.client.MappingBuilder)1 ResponseDefinitionBuilder (com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder)1 HttpHeader (com.github.tomakehurst.wiremock.http.HttpHeader)1 HttpHeaders (com.github.tomakehurst.wiremock.http.HttpHeaders)1 RequestMethod (com.github.tomakehurst.wiremock.http.RequestMethod)1 RequestPatternBuilder (com.github.tomakehurst.wiremock.matching.RequestPatternBuilder)1