Maybe you can add a RestAssuredConfigFactory to make the usage a bit simpler.
zhtaoang opened this issue · 1 comments
zhtaoang commented
Something like this:
/**
* To provide cUrl log configuration for RestAssured
*/
public class RestAssuredConfigFactory {
public static RestAssuredConfig singleLineCurl() {
return config()
.httpClient(httpClientConfig()
.reuseHttpClientInstance()
.httpClientFactory(new SingleCurlLoggingHttpClientFactory()));
}
private static class SingleCurlLoggingHttpClientFactory implements HttpClientConfig.HttpClientFactory {
@Override
public HttpClient createHttpClient() {
AbstractHttpClient client = new DefaultHttpClient();
client.addRequestInterceptor(CurlLoggingInterceptor.defaultBuilder().printSingleliner().build());// singleLine cUrl
return client;
}
}
public static RestAssuredConfig multiLineCurl() {
return config()
.httpClient(httpClientConfig()
.reuseHttpClientInstance()
.httpClientFactory(new MultiCurlLoggingHttpClientFactory()));
}
private static class MultiCurlLoggingHttpClientFactory implements HttpClientConfig.HttpClientFactory {
@Override
public HttpClient createHttpClient() {
AbstractHttpClient client = new DefaultHttpClient();
client.addRequestInterceptor(CurlLoggingInterceptor.defaultBuilder().printMultiliner().build());// multiLine cUrl
return client;
}
}
}
And to use it:
RestAssured.given()
.config(RestAssuredConfigFactory.singleLineCurl())// this will log the cUrl to the log print out
.contentType(ContentType.JSON)
.body(new LandLord("Tao", "Zhang"))
.when()
.post("/landlords")
.then()
.statusCode(201);
dzieciou commented
Resolved in 0.6-SNAPSHOT version.
Thanks for your suggestion.