You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2013/07/13 23:29:18 UTC
svn commit: r1502882 - in
/cxf/trunk/testutils/src/main/java/org/apache/cxf/test:
AbstractCXFTest.java TestUtilities.java XPathAssert.java
Author: dkulp
Date: Sat Jul 13 21:29:17 2013
New Revision: 1502882
URL: http://svn.apache.org/r1502882
Log:
Add some methods to assert the qname based value of an XPath expression
Modified:
cxf/trunk/testutils/src/main/java/org/apache/cxf/test/AbstractCXFTest.java
cxf/trunk/testutils/src/main/java/org/apache/cxf/test/TestUtilities.java
cxf/trunk/testutils/src/main/java/org/apache/cxf/test/XPathAssert.java
Modified: cxf/trunk/testutils/src/main/java/org/apache/cxf/test/AbstractCXFTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/testutils/src/main/java/org/apache/cxf/test/AbstractCXFTest.java?rev=1502882&r1=1502881&r2=1502882&view=diff
==============================================================================
--- cxf/trunk/testutils/src/main/java/org/apache/cxf/test/AbstractCXFTest.java (original)
+++ cxf/trunk/testutils/src/main/java/org/apache/cxf/test/AbstractCXFTest.java Sat Jul 13 21:29:17 2013
@@ -26,6 +26,7 @@ import java.util.Map;
import javax.wsdl.WSDLException;
import javax.xml.namespace.NamespaceContext;
+import javax.xml.namespace.QName;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
@@ -140,6 +141,19 @@ public class AbstractCXFTest extends Ass
public void assertXPathEquals(String xpath, String value, Node node) throws Exception {
testUtilities.assertXPathEquals(xpath, value, node);
}
+
+
+ /**
+ * Assert that the text of the xpath node retrieved is equal to the value
+ * specified.
+ *
+ * @param xpath
+ * @param value
+ * @param node
+ */
+ public void assertXPathEquals(String xpath, QName value, Node node) throws Exception {
+ testUtilities.assertXPathEquals(xpath, value, node);
+ }
/**
* Assert that this node is not a SOAP fault part.
Modified: cxf/trunk/testutils/src/main/java/org/apache/cxf/test/TestUtilities.java
URL: http://svn.apache.org/viewvc/cxf/trunk/testutils/src/main/java/org/apache/cxf/test/TestUtilities.java?rev=1502882&r1=1502881&r2=1502882&view=diff
==============================================================================
--- cxf/trunk/testutils/src/main/java/org/apache/cxf/test/TestUtilities.java (original)
+++ cxf/trunk/testutils/src/main/java/org/apache/cxf/test/TestUtilities.java Sat Jul 13 21:29:17 2013
@@ -177,6 +177,17 @@ public class TestUtilities {
public void assertXPathEquals(String xpath, String value, Node node) throws Exception {
XPathAssert.assertXPathEquals(xpath, value, node, namespaces);
}
+ /**
+ * Assert that the text of the xpath node retrieved is equal to the value
+ * specified.
+ *
+ * @param xpath
+ * @param value
+ * @param node
+ */
+ public void assertXPathEquals(String xpath, QName value, Node node) throws Exception {
+ XPathAssert.assertXPathEquals(xpath, value, node, namespaces);
+ }
/**
* Assert that this node is not a Soap fault body.
Modified: cxf/trunk/testutils/src/main/java/org/apache/cxf/test/XPathAssert.java
URL: http://svn.apache.org/viewvc/cxf/trunk/testutils/src/main/java/org/apache/cxf/test/XPathAssert.java?rev=1502882&r1=1502881&r2=1502882&view=diff
==============================================================================
--- cxf/trunk/testutils/src/main/java/org/apache/cxf/test/XPathAssert.java (original)
+++ cxf/trunk/testutils/src/main/java/org/apache/cxf/test/XPathAssert.java Sat Jul 13 21:29:17 2013
@@ -24,6 +24,7 @@ import java.util.Iterator;
import java.util.Map;
import javax.xml.namespace.NamespaceContext;
+import javax.xml.namespace.QName;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathFactory;
@@ -149,6 +150,42 @@ public final class XPathAssert {
+ " in document "
+ writeNodeToString(node));
}
+
+ /**
+ * Asser that the text of the xpath node retrieved is equal to the value
+ * specified.
+ *
+ * @param xpath
+ * @param value
+ * @param node
+ */
+ public static void assertXPathEquals(String xpath,
+ QName value,
+ Node node,
+ Map<String, String> namespaces)
+ throws Exception {
+ Object o = createXPath(namespaces).compile(xpath)
+ .evaluate(node, XPathConstants.NODE);
+ if (o instanceof Node) {
+ Node result = (Node)o;
+ String value2 = DOMUtils.getContent(result);
+ QName q2 = DOMUtils.createQName(value2, result);
+ Assert.assertEquals(value, q2);
+ return;
+ } else {
+ o = createXPath(namespaces).compile(xpath)
+ .evaluate(node, XPathConstants.STRING);
+ if (o instanceof String) {
+ QName q2 = DOMUtils.createQName(o.toString(), node);
+ Assert.assertEquals(value, q2);
+ return;
+ }
+ }
+ throw new AssertionFailedError("No nodes were found for expression: "
+ + xpath
+ + " in document "
+ + writeNodeToString(node));
+ }
public static void assertNoFault(Node node) throws Exception {
Map<String, String> namespaces = new HashMap<String, String>();