REST-assured: how to check the user sorting

In this post we will show the easiest way to test the request with returns a bunch of users. The main goal of the request is to sort the users by a specific field, so let’s dive in this problem.

What do we have? We have a request with will return a JSON with a list of user, how to we know if list is sorted or not? Here comes rest-assured Response functional to help us to parse the JSON.

We have our request and we will extract the response:

RestAssured.basePath = "/admin/users";
Response response = given()
        .queryParam("sort", "firstName")
        .contentType(ContentType.JSON)
        .accept(ContentType.JSON)
        .when().get()
        .then().statusCode(200).extract().response();

Next step is to extract the sorted values from JSON response in a List of Strings:

List<String> jsonResponse = response.jsonPath().getList("firstName");

 

And the lest step check if the list of extracting elements is sorted using Ordering class. An Ordering is a Comparator++. In this case, if you have a list of some type that implements Comparable, you could write:

assertTrue(Ordering.natural().isOrdered(jsonResponse));

Hope this will help you, don’t hesitate to ask questions, will answer with pleasure!

Add a Comment

Your email address will not be published. Required fields are marked *