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"
} ]
}