Search in sources :

Example 21 with ResponseBuilder

use of io.restassured.builder.ResponseBuilder in project rest-assured by rest-assured.

the class FilterITest method httpClientIsAccessibleFromTheRequestSpecification.

@Test
public void httpClientIsAccessibleFromTheRequestSpecification() {
    // Given
    final MutableObject<HttpClient> client = new MutableObject<HttpClient>();
    // When
    given().filter(new Filter() {

        public Response filter(FilterableRequestSpecification requestSpec, FilterableResponseSpecification responseSpec, FilterContext ctx) {
            client.setValue(requestSpec.getHttpClient());
            return new ResponseBuilder().setStatusCode(200).setContentType("application/json").setBody("{ \"message\" : \"hello\"}").build();
        }
    }).expect().body("message", equalTo("hello")).when().get("/something");
    // Then
    assertThat(client.getValue(), instanceOf(DefaultHttpClient.class));
}
Also used : Response(io.restassured.response.Response) FilterableResponseSpecification(io.restassured.specification.FilterableResponseSpecification) ErrorLoggingFilter(io.restassured.filter.log.ErrorLoggingFilter) SpookyGreetJsonResponseFilter(io.restassured.itest.java.support.SpookyGreetJsonResponseFilter) FormAuthFilter(io.restassured.internal.filter.FormAuthFilter) ResponseLoggingFilter(io.restassured.filter.log.ResponseLoggingFilter) Filter(io.restassured.filter.Filter) DefaultHttpClient(org.apache.http.impl.client.DefaultHttpClient) HttpClient(org.apache.http.client.HttpClient) FilterableRequestSpecification(io.restassured.specification.FilterableRequestSpecification) ResponseBuilder(io.restassured.builder.ResponseBuilder) DefaultHttpClient(org.apache.http.impl.client.DefaultHttpClient) MutableObject(org.apache.commons.lang3.mutable.MutableObject) FilterContext(io.restassured.filter.FilterContext) Test(org.junit.Test)

Example 22 with ResponseBuilder

use of io.restassured.builder.ResponseBuilder in project rest-assured by rest-assured.

the class PathParamITest method unnamedPathParametersWorksWhenThereAreMultipleTemplatesBetweenEachSlash.

@Test
public void unnamedPathParametersWorksWhenThereAreMultipleTemplatesBetweenEachSlash() throws Exception {
    String param1Value = "Hello";
    String param2Value = "Hello2";
    given().filter((requestSpec, responseSpec, ctx) -> new ResponseBuilder().setStatusCode(200).setStatusLine("HTTP/1.1 200 OK").setBody(requestSpec.getURI()).build()).when().get("param1={param1Value}&param2={param2Value}", param1Value, param2Value).then().body(equalTo("http://localhost:8080/param1%3DHello%26param2%3DHello2"));
}
Also used : ResponseBuilder(io.restassured.builder.ResponseBuilder) Test(org.junit.Test)

Example 23 with ResponseBuilder

use of io.restassured.builder.ResponseBuilder in project rest-assured by rest-assured.

the class PathParamITest method mixingUnnamedPathParametersAndQueryParametersWorks.

@Test
public void mixingUnnamedPathParametersAndQueryParametersWorks() throws Exception {
    final StringWriter writer = new StringWriter();
    final PrintStream captor = new PrintStream(new WriterOutputStream(writer), true);
    given().config(RestAssuredConfig.config().logConfig(new LogConfig(captor, true))).log().all().filter(new Filter() {

        public Response filter(FilterableRequestSpecification requestSpec, FilterableResponseSpecification responseSpec, FilterContext ctx) {
            return new ResponseBuilder().setStatusCode(200).setBody("changed").build();
        }
    }).get("/{channelName}/item-import/rss/import?source={url}", "games", "http://myurl.com");
    // Then
    assertThat(RequestPathFromLogExtractor.loggedRequestPathIn(writer), equalTo("http://localhost:8080/games/item-import/rss/import?source=http%3A%2F%2Fmyurl.com"));
}
Also used : PrintStream(java.io.PrintStream) FilterableResponseSpecification(io.restassured.specification.FilterableResponseSpecification) StringWriter(java.io.StringWriter) Filter(io.restassured.filter.Filter) WriterOutputStream(org.apache.commons.io.output.WriterOutputStream) FilterableRequestSpecification(io.restassured.specification.FilterableRequestSpecification) ResponseBuilder(io.restassured.builder.ResponseBuilder) LogConfig(io.restassured.config.LogConfig) FilterContext(io.restassured.filter.FilterContext) Test(org.junit.Test)

Example 24 with ResponseBuilder

use of io.restassured.builder.ResponseBuilder in project rest-assured by rest-assured.

the class RequestSpecMergingITest method mergesHeadersCorrectlyWhenOnlyStaticMerging.

@Test
public void mergesHeadersCorrectlyWhenOnlyStaticMerging() {
    given().filter((requestSpec, responseSpec, ctx) -> {
        Headers headers = requestSpec.getHeaders();
        assertThat(requestSpec.getContentType(), nullValue());
        assertThat(headers.getValue("authorization"), equalTo("abracadabra"));
        assertThat(headers.getValue("accept"), equalTo("*/*"));
        assertThat(headers.size(), is(2));
        return new ResponseBuilder().setStatusCode(200).build();
    }).when().get();
}
Also used : Headers(io.restassured.http.Headers) ResponseBuilder(io.restassured.builder.ResponseBuilder) Test(org.junit.Test)

Example 25 with ResponseBuilder

use of io.restassured.builder.ResponseBuilder in project rest-assured by rest-assured.

the class StatusCodeBasedLoggingFilter method cloneResponseIfNeeded.

/*
     * If body expectations are defined we need to return a new Response otherwise the stream
     * has been closed due to the logging.
     */
private Response cloneResponseIfNeeded(Response response, byte[] responseAsString) {
    if (responseAsString != null && response instanceof RestAssuredResponseImpl && !((RestAssuredResponseImpl) response).getHasExpectations()) {
        final Response build = new ResponseBuilder().clone(response).setBody(responseAsString).build();
        ((RestAssuredResponseImpl) build).setHasExpectations(true);
        return build;
    }
    return response;
}
Also used : Response(io.restassured.response.Response) RestAssuredResponseImpl(io.restassured.internal.RestAssuredResponseImpl) ResponseBuilder(io.restassured.builder.ResponseBuilder)

Aggregations

ResponseBuilder (io.restassured.builder.ResponseBuilder)49 Test (org.junit.Test)47 Filter (io.restassured.filter.Filter)40 FilterContext (io.restassured.filter.FilterContext)40 FilterableRequestSpecification (io.restassured.specification.FilterableRequestSpecification)40 FilterableResponseSpecification (io.restassured.specification.FilterableResponseSpecification)40 PrintStream (java.io.PrintStream)36 StringWriter (java.io.StringWriter)36 WriterOutputStream (org.apache.commons.io.output.WriterOutputStream)36 RequestLoggingFilter (io.restassured.filter.log.RequestLoggingFilter)32 Response (io.restassured.response.Response)11 LogConfig (io.restassured.config.LogConfig)4 Headers (io.restassured.http.Headers)4 ResponseLoggingFilter (io.restassured.filter.log.ResponseLoggingFilter)3 MutableObject (org.apache.commons.lang3.mutable.MutableObject)2 HttpClient (org.apache.http.client.HttpClient)2 AuthenticationScheme (io.restassured.authentication.AuthenticationScheme)1 PreemptiveOAuth2HeaderScheme (io.restassured.authentication.PreemptiveOAuth2HeaderScheme)1 RequestSpecBuilder (io.restassured.builder.RequestSpecBuilder)1 ErrorLoggingFilter (io.restassured.filter.log.ErrorLoggingFilter)1