Search code examples
restapirest-assured

Rest-assured is making an extra call


I am testing REST API using rest-assured. When I send POST request it looks like rest-assured is making extra call. Here is the output from /var/log/httpd/access_log:

11.31.41.111 - - [26/Nov/2019:19:39:14 +0000] "POST /rest/v1/contact HTTP/1.1" 401 340 "-" "Apache-HttpClient/4.5.3 (Java/1.8.0_221)"
11.31.41.111 - - [26/Nov/2019:19:39:14 +0000] "POST /rest/v1/contact HTTP/1.1" 200 515 "-" "Apache-HttpClient/4.5.3 (Java/1.8.0_221)"

When I send exactly same request using Postman, access log shows only one request comes to the server:

11.31.41.111 - - [26/Nov/2019:19:40:44 +0000] "POST /rest/v1/contact/ HTTP/1.1" 200 529 "-" "PostmanRuntime/7.19.0"

Any idea why this is happening?


Solution

  • You should use Preemptive Authentication when building RestAssured request specification. Here's an example:

    RestAssured.given().auth().preemptive().basic("username", "password")
          .when().get("http://example.com")
          .then().statusCode(200);