Class FluentResponseBodyAssertion<R>
- Type Parameters:
R
- The return type.
ResponseContent
objects.
Test Methods
Transform Methods
Configuration Methods
See Also:
-
Constructor Summary
ConstructorDescriptionFluentResponseBodyAssertion
(Assertion creator, ResponseContent value, R returns) Chained constructor.FluentResponseBodyAssertion
(ResponseContent value, R returns) Constructor. -
Method Summary
Modifier and TypeMethodDescription<T> FluentAnyAssertion<T,
R> Converts the body to a type usingResponseContent.as(Class)
and then returns the value as an object assertion.Converts the body to a type usingResponseContent.as(Type,Type...)
and then returns the value as an object assertion.asBytes()
Provides the ability to perform fluent-style assertions on the bytes of the response body.asString()
Provides the ability to perform fluent-style assertions on this response body.Asserts that the body contains the specified value.isContains
(String... values) Asserts that the text contains all of the specified substrings.isEmpty()
Asserts that the body is empty.isNotContains
(String... values) Asserts that the body doesn't contain any of the specified substrings.Asserts that the body is not empty.Allows you to override the assertion failure message.setOut
(PrintStream value) If an error occurs, send the error message to the specified stream instead of STDERR.Suppresses output to STDERR.If an error occurs, send the error message to STDOUT instead of STDERR.setThrowable
(Class<? extends RuntimeException> value) If an error occurs, throw this exception instead of the standardAssertionError
.protected String
Returns the inner value as a string.Methods inherited from class org.apache.juneau.assertions.FluentObjectAssertion
asAny, asJson, asJsonSorted, asString, asString, asTransformed, asTransformedTo, equals, getFailureMessage, is, is, isAny, isExactType, isExists, isJson, isNot, isNotAny, isNotNull, isNull, isSame, isSameJsonAs, isSameSerializedAs, isSameSortedJsonAs, isString, isType, map, opt, orElse, toString, value, valueIsNotNull, valueIsNull
Methods inherited from class org.apache.juneau.assertions.FluentAssertion
returns
Methods inherited from class org.apache.juneau.assertions.Assertion
arrayClass, className, error, error
-
Constructor Details
-
FluentResponseBodyAssertion
Constructor.- Parameters:
value
- The object being tested.
Can benull .returns
- The object to return after a test method is called.
Ifnull , the test method returns this object allowing multiple test method calls to be used on the same assertion.
-
FluentResponseBodyAssertion
Chained constructor.Used when transforming one assertion into another so that the assertion config can be used by the new assertion.
- Parameters:
creator
- The assertion that created this assertion.
Should benull if this is the top-level assertion.value
- The object being tested.
Can benull .returns
- The object to return after a test method is called.
Ifnull , the test method returns this object allowing multiple test method calls to be used on the same assertion.
-
-
Method Details
-
asString
Provides the ability to perform fluent-style assertions on this response body.Examples:
// Validates the response body equals the text "OK". client .get(URI ) .run() .assertContent().is("OK" );// Validates the response body contains the text "OK". client .get(URI ) .run() .assertContent().isContains("OK" );// Validates the response body passes a predicate test. client .get(URI ) .run() .assertContent().is(x ->x .contains("OK" ));// Validates the response body matches a regular expression. client .get(URI ) .run() .assertContent().isPattern(".*OK.*" );// Validates the response body matches a regular expression using regex flags. client .get(URI ) .run() .assertContent().isPattern(".*OK.*" ,MULTILINE &CASE_INSENSITIVE );// Validates the response body matches a regular expression in the form of an existing Pattern. Patternpattern = Pattern.compile (".*OK.*" );client .get(URI ) .run() .assertContent().isPattern(pattern );The assertion test returns the original response object allowing you to chain multiple requests like so:
// Validates the response body matches a regular expression. MyBeanbean =client .get(URI ) .run() .assertContent().isPattern(".*OK.*" ); .assertContent().isNotPattern(".*ERROR.*" ) .getContent().as(MyBean.class );Notes:
-
If no charset was found on the
Content-Type
response header,"UTF-8" is assumed. -
When using this method, the body is automatically cached by calling the
ResponseContent.cache()
. - The input stream is automatically closed after this call.
- Overrides:
asString
in classFluentObjectAssertion<ResponseContent,
R> - Returns:
- A new fluent assertion object.
-
If no charset was found on the
-
asBytes
Provides the ability to perform fluent-style assertions on the bytes of the response body.Examples:
// Validates the response body equals the text "foo". client .get(URI ) .run() .assertContent().asBytes().asHex().is("666F6F" );Notes:
-
If no charset was found on the
Content-Type
response header,"UTF-8" is assumed. -
When using this method, the body is automatically cached by calling the
ResponseContent.cache()
. - The input stream is automatically closed after this call.
- Returns:
- A new fluent assertion object.
-
If no charset was found on the
-
as
Converts the body to a type usingResponseContent.as(Class)
and then returns the value as an object assertion.Examples:
// Validates the response body as a list of strings and validates the length. client .get("/myBean" ) .run() .assertContent().as(List.class , String.class ).is(x ->x .size() > 0);- Type Parameters:
T
- The object type to create.- Parameters:
type
- The object type to create.- Returns:
- A new fluent assertion object.
-
as
Converts the body to a type usingResponseContent.as(Type,Type...)
and then returns the value as an object assertion.Examples:
// Validates the response body as a list of strings and validates the length. client .get("/myBean" ) .run() .assertContent().as(List.class , String.class ).is(x ->x .size() > 0);See Complex Data Types for information on defining complex generic types of
Maps
andCollections
.- Parameters:
type
- The object type to create.args
- Optional type arguments.- Returns:
- A new fluent assertion object.
-
is
Asserts that the body contains the specified value.- Parameters:
value
- The value to check against.- Returns:
- This object.
- Throws:
AssertionError
- If assertion failed.
-
isContains
Asserts that the text contains all of the specified substrings.- Parameters:
values
- The values to check against.- Returns:
- This object.
- Throws:
AssertionError
- If assertion failed.
-
isNotContains
Asserts that the body doesn't contain any of the specified substrings.- Parameters:
values
- The values to check against.- Returns:
- This object.
- Throws:
AssertionError
- If assertion failed.
-
isEmpty
Asserts that the body is empty.- Returns:
- This object.
- Throws:
AssertionError
- If assertion failed.
-
isNotEmpty
Asserts that the body is not empty.- Returns:
- This object.
- Throws:
AssertionError
- If assertion failed.
-
valueAsString
Description copied from class:FluentObjectAssertion
Returns the inner value as a string.- Overrides:
valueAsString
in classFluentObjectAssertion<ResponseContent,
R> - Returns:
- The inner value as a string, or
null if the value was null. - Throws:
AssertionError
-
setMsg
Description copied from class:Assertion
Allows you to override the assertion failure message.String can contain
"{msg}" to represent the original message.Example:
import static org.apache.juneau.assertions.Assertions.*;// Throws an assertion with a custom message instead of the default "Value was null." assertString (myString ) .setMsg("My string was bad: {msg}" ) .isNotNull();- Overrides:
setMsg
in classFluentObjectAssertion<ResponseContent,
R> - Parameters:
msg
- The assertion failure message.args
- Optional message arguments.- Returns:
- This object.
-
setOut
Description copied from class:Assertion
If an error occurs, send the error message to the specified stream instead of STDERR.- Overrides:
setOut
in classFluentObjectAssertion<ResponseContent,
R> - Parameters:
value
- The output stream. Can benull to suppress output.- Returns:
- This object.
-
setSilent
Description copied from class:Assertion
Suppresses output to STDERR.This is the equivalent to calling
out( .null )- Overrides:
setSilent
in classFluentObjectAssertion<ResponseContent,
R> - Returns:
- This object.
-
setStdOut
Description copied from class:Assertion
If an error occurs, send the error message to STDOUT instead of STDERR.- Overrides:
setStdOut
in classFluentObjectAssertion<ResponseContent,
R> - Returns:
- This object.
-
setThrowable
Description copied from class:Assertion
If an error occurs, throw this exception instead of the standardAssertionError
.The throwable class must have a public constructor that takes in any of the following parameters:
If the throwable cannot be instantiated, a
RuntimeException
is thrown instead.Example:
import static org.apache.juneau.assertions.Assertions.*;// Throws a BadRequest instead of an AssertionError if the string is null. assertString (myString ) .setThrowable(BadRequest.class ) .isNotNull();- Overrides:
setThrowable
in classFluentObjectAssertion<ResponseContent,
R> - Parameters:
value
- The new value for this setting.- Returns:
- This object.
-