public abstract class AppTestBase
extends org.jboss.arquillian.testng.Arquillian
Modifier and Type | Field and Description |
---|---|
protected static io.restassured.filter.Filter |
YAML_FILTER |
Constructor and Description |
---|
AppTestBase() |
Modifier and Type | Method and Description |
---|---|
io.restassured.response.ValidatableResponse |
callEndpoint(String type) |
static void |
configureRestAssured() |
static String |
dereference(io.restassured.response.ValidatableResponse vr,
String... paths)
Builds an absolute path using the series of provided relative
paths by sequentially searching through the
provided ValidatableResponse . |
static String |
dereference(io.restassured.response.ValidatableResponse vr,
String path)
Lookup the object at the provided path in the response and if the object is a reference (contains a $ref
property), return the reference path.
|
Object[][] |
provide() |
@BeforeClass public static void configureRestAssured() throws MalformedURLException
MalformedURLException
public io.restassured.response.ValidatableResponse callEndpoint(String type)
public static String dereference(io.restassured.response.ValidatableResponse vr, String path)
vr
- the responsepath
- a path which may be a reference object (containing a $ref)public static String dereference(io.restassured.response.ValidatableResponse vr, String... paths)
paths
by sequentially searching through the
provided ValidatableResponse
. Each time a $ref
is encountered as a key in the path node, it is
treated as an absolute (within the response) path that is used as the context for the next paths
entry.
Consider the following simple schemas as the response content of the ValidatableResponse
argument:
{ "components": { "schemas": { "Person": { "type": "object", "properties": { "firstName": { "type": "string" }, "lastName": { "type": "string" } } }, "Employee": { "$ref": "#/components/schemas/Person" } } } }Given the
paths
"components.schemas.Employee"
and "properties.firstName"
, the value
returned is the absolute path "components.schemas.Person.properties.firstName"
. The path segment
"components.schemas.Employee"
contains a .$ref
which itself resolves to the schema
"components.schemas.Person"
and the second path segment is appended to the resolved reference.
Note that this method does not currently support the conversion of Json Pointer escape sequences (~0
and
~1
) in $ref
values.vr
- the responsepaths
- paths which may be a reference object (containing a $ref)@DataProvider(name="formatProvider") public Object[][] provide()
Copyright © 2017 – 2022 Eclipse Foundation. All rights reserved.
Use is subject to license terms.