Class FluentRequestContentAssertion<R>

Type Parameters:
R - The return type.

  • Constructor Details

    • FluentRequestContentAssertion

      Constructor.
      Parameters:
      value - The object being tested.
      Can be null.
      returns - The object to return after a test method is called.
      If null, the test method returns this object allowing multiple test method calls to be used on the same assertion.
    • FluentRequestContentAssertion

      public FluentRequestContentAssertion(Assertion creator, RequestContent value, R returns)
      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 be null if this is the top-level assertion.
      value - The object being tested.
      Can be null.
      returns - The object to return after a test method is called.
      If null, the test method returns this object allowing multiple test method calls to be used on the same assertion.
  • Method Details

    • asBytes

      Provides the ability to perform fluent-style assertions on the bytes of the request content.
      Examples:

      // Validates the request content equals the text "foo". request .assertContent().asBytes().asHex().is("666F6F");

      Notes:
      • If no charset was found on the Content-Type request header, "UTF-8" is assumed.
      • When using this method, the content is automatically cached by calling the RequestContent.cache().
      • The input stream is automatically closed after this call.
      Returns:
      A new fluent assertion object.
    • as

      public <T> FluentObjectAssertion<T,R> as(Class<T> type)
      Converts the content to a type using RequestContent.as(Class) and then returns the value as an object assertion.
      Examples:

      // Validates the request content bean is the expected value. request .assertContent() .as(MyBean.class) .asJson().is("{foo:'bar'}");

      Notes:
      • If no charset was found on the Content-Type request header, "UTF-8" is assumed.
      • When using this method, the content is automatically cached by calling the RequestContent.cache().
      • The input stream is automatically closed after this call.

      See Complex Data Types for information on defining complex generic types of Maps and Collections.

      Type Parameters:
      T - The object type to create.
      Parameters:
      type - The object type to create.
      Returns:
      A new fluent assertion object.
    • as

      public <T> FluentObjectAssertion<T,R> as(Type type, Type... args)
      Converts the content to a type using RequestContent.as(Type,Type...) and then returns the value as an object assertion.
      Examples:

      // Validates the request content bean is the expected value. request .assertContent() .as(Map.class,String.class,Integer.class) .asJson().is("{foo:123}");

      Notes:
      • If no charset was found on the Content-Type request header, "UTF-8" is assumed.
      • When using this method, the content is automatically cached by calling the RequestContent.cache().
      • The input stream is automatically closed after this call.

      See Complex Data Types for information on defining complex generic types of Maps and Collections.

      Type Parameters:
      T - The type to create.
      Parameters:
      type - The object type to create.
      args - Optional type arguments.
      Returns:
      A new fluent assertion object.
    • is

      public R is(String values) throws AssertionError
      Asserts that the content contains the specified value.
      Parameters:
      values - The value to check against.
      Returns:
      This object.
      Throws:
      AssertionError - If assertion failed.
    • isContains

      public R isContains(String... values) throws AssertionError
      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

      public R isNotContains(String... values) throws AssertionError
      Asserts that the content doesn't contain any of the specified substrings.
      Parameters:
      values - The values to check against.
      Returns:
      This object.
      Throws:
      AssertionError - If assertion failed.
    • isEmpty

      public R isEmpty()
      Asserts that the content is empty.
      Returns:
      This object.
      Throws:
      AssertionError - If assertion failed.
    • isNotEmpty

      public R isNotEmpty()
      Asserts that the content is not empty.
      Returns:
      This object.
      Throws:
      AssertionError - If assertion failed.
    • valueAsString

      protected String valueAsString() throws AssertionError
      Description copied from class: FluentObjectAssertion
      Returns the inner value as a string.
      Overrides:
      valueAsString in class FluentObjectAssertion<RequestContent,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 class FluentObjectAssertion<RequestContent,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 class FluentObjectAssertion<RequestContent,R>
      Parameters:
      value - The output stream. Can be null 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 class FluentObjectAssertion<RequestContent,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 class FluentObjectAssertion<RequestContent,R>
      Returns:
      This object.
    • setThrowable

      Description copied from class: Assertion
      If an error occurs, throw this exception instead of the standard AssertionError.

      The throwable class must have a public constructor that takes in any of the following parameters:

      • Throwable - The caused-by exception (if there is one).
      • String - The assertion failure message.

      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 class FluentObjectAssertion<RequestContent,R>
      Parameters:
      value - The new value for this setting.
      Returns:
      This object.