Class XpathExpectationsHelper

java.lang.Object
org.springframework.test.util.XpathExpectationsHelper

public class XpathExpectationsHelper extends Object
A helper class for applying assertions via XPath expressions.
Since:
3.2
Author:
Rossen Stoyanchev
  • Constructor Details

  • Method Details

    • getXpathExpression

      protected XPathExpression getXpathExpression()
      Return the compiled XPath expression.
    • assertNode

      public void assertNode(byte[] content, @Nullable String encoding, Matcher<? super Node> matcher) throws Exception
      Parse the content, evaluate the XPath expression as a Node, and assert it with the given Matcher<Node>.
      Throws:
      Exception
    • assertNodeList

      public void assertNodeList(byte[] content, @Nullable String encoding, Matcher<? super NodeList> matcher) throws Exception
      Parse the content, evaluate the XPath expression as a NodeList, and assert it with the given Matcher<NodeList>.
      Throws:
      Exception
      Since:
      5.2.2
    • exists

      public void exists(byte[] content, @Nullable String encoding) throws Exception
      Apply the XPath expression and assert the resulting content exists.
      Throws:
      Exception - if content parsing or expression evaluation fails
    • doesNotExist

      public void doesNotExist(byte[] content, @Nullable String encoding) throws Exception
      Apply the XPath expression and assert the resulting content does not exist.
      Throws:
      Exception - if content parsing or expression evaluation fails
    • assertNodeCount

      public void assertNodeCount(byte[] content, @Nullable String encoding, Matcher<? super Integer> matcher) throws Exception
      Apply the XPath expression and assert the resulting content with the given Hamcrest matcher.
      Throws:
      Exception - if content parsing or expression evaluation fails
    • assertNodeCount

      public void assertNodeCount(byte[] content, @Nullable String encoding, int expectedCount) throws Exception
      Apply the XPath expression and assert the resulting content as an integer.
      Throws:
      Exception - if content parsing or expression evaluation fails
    • assertString

      public void assertString(byte[] content, @Nullable String encoding, Matcher<? super String> matcher) throws Exception
      Apply the XPath expression and assert the resulting content with the given Hamcrest matcher.
      Throws:
      Exception - if content parsing or expression evaluation fails
    • assertString

      public void assertString(byte[] content, @Nullable String encoding, String expectedValue) throws Exception
      Apply the XPath expression and assert the resulting content as a String.
      Throws:
      Exception - if content parsing or expression evaluation fails
    • assertNumber

      public void assertNumber(byte[] content, @Nullable String encoding, Matcher<? super Double> matcher) throws Exception
      Apply the XPath expression and assert the resulting content with the given Hamcrest matcher.
      Throws:
      Exception - if content parsing or expression evaluation fails
    • assertNumber

      public void assertNumber(byte[] content, @Nullable String encoding, Double expectedValue) throws Exception
      Apply the XPath expression and assert the resulting content as a Double.
      Throws:
      Exception - if content parsing or expression evaluation fails
    • assertBoolean

      public void assertBoolean(byte[] content, @Nullable String encoding, boolean expectedValue) throws Exception
      Apply the XPath expression and assert the resulting content as a Boolean.
      Throws:
      Exception - if content parsing or expression evaluation fails
    • evaluateXpath

      @Nullable public <T> T evaluateXpath(byte[] content, @Nullable String encoding, Class<T> targetClass) throws Exception
      Evaluate the XPath and return the resulting value.
      Parameters:
      content - the content to evaluate against
      encoding - the encoding to use (optionally)
      targetClass - the target class, one of Number, String, Boolean, org.w3c.Node, or NodeList
      Throws:
      Exception - if content parsing or expression evaluation fails
      Since:
      5.1
    • parseXmlByteArray

      protected Document parseXmlByteArray(byte[] xml, @Nullable String encoding) throws Exception
      Parse the given XML content to a Document.
      Parameters:
      xml - the content to parse
      encoding - optional content encoding, if provided as metadata (e.g. in HTTP headers)
      Returns:
      the parsed document
      Throws:
      Exception
    • evaluateXpath

      @Nullable protected <T> T evaluateXpath(Document document, QName evaluationType, Class<T> expectedClass) throws XPathExpressionException
      Apply the XPath expression to given document.
      Throws:
      XPathExpressionException - if expression evaluation failed