Assertions - gorskip/testing-framework GitHub Wiki

VerifyIf

new VerifyIf()
    .given(response)
    .has(expected)
    .status()
    .and(expected)
    .body()
    .and()
    .contains(expected)
    .headers();

or:

new VerifyIf()
   .given(response)
   .has(expected)
   .status()
   .body()
   .contains(expected)
   .headers();

VerifyIf builder

VerifyIf verifyIf = new VerifyIf.VerifyBuilder().build();

With order checking

VerifyIf verifyIf = new VerifyIf.VerifyBuilder()
    .withOrderChecking()
    .build();

Example

Expected response:

{
  "status": 200,
  "headers": null,
  "body": {
    "id": 1,
    "name": "Mock response",
    "foo": [
      {"array": [1, 2]},
      {"array": [3, 4]}
    ]
  }
}

Response:

{
  "status": 200,
  "headers": null,
  "body": {
    "name": "Mock response 2",
    "foo": [
      {"array": [1, 2]},
      {"array": [4, 3]}
    ],
    "addedField": "value"
  }
}

Tested by:

VerifyIf verifyIf = new VerifyIf.VerifyBuilder()
        .withOrderChecking()
        .build();

verifyIf.given(response)
        .has(expected)
        .status()
        .and()
        .body();

Assertion result:

java.lang.AssertionError: Body: Response and Expected are not equal:
{
  "changed" : [ {
    "path" : "/name",
    "value" : "Mock response 2",
    "expectedValue" : "Mock response"
  } ],
  "removed" : [ {
    "path" : "/id"
  } ],
  "added" : [ {
    "path" : "/addedField",
    "value" : "value"
  } ],
  "moved" : [ {
    "from" : "/foo/1/array/0",
    "path" : "/foo/1/array/1"
  } ]
}