Jakim
Jakim

Reputation: 1823

How to verify json array using rest assured?

I have a JSON response:

["alice", "jason", "steve", "alex"]

then when use rest assured to test:

when().
       get("/names").
then().
       body(containsInAnyOrder("alice","jason","steve","alex"));

This is not working as I expected, it gives an error:

Expected: iterable over ["alice", "jason", "steve", "alex"] in any order
  Actual: ["alice", "jason", "steve", "alex"]

Also tried with:

when().
       get("/names").
then().
       body(hasItems("alice","jason","steve","alex"));

also not working.

How can I verify a simple JSON array in the response?

Upvotes: 6

Views: 14982

Answers (1)

Clarkey
Clarkey

Reputation: 1581

To save any clicking, you have to supply a redundant string to the body method call:

when().
   get("/names").
then().
   body("", hasItems("alice","jason","steve","alex"));

Additionally, even if you only have one item in your array, you still have to use hasItems rather than hasItem. For example:

when().
   get("/names").
then().
   body("", hasItems("alice"));

Upvotes: 5

Related Questions