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 2014/07/16 20:04:09 UTC
git commit: Flip to using xpath expressions instead of raw strings.
Repository: cxf
Updated Branches:
refs/heads/master c5379b9d7 -> 10c0903e2
Flip to using xpath expressions instead of raw strings.
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/10c0903e
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/10c0903e
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/10c0903e
Branch: refs/heads/master
Commit: 10c0903e2efaa8e5d05aaa2d11002b64167d089a
Parents: c5379b9
Author: Daniel Kulp <dk...@apache.org>
Authored: Wed Jul 16 14:01:21 2014 -0400
Committer: Daniel Kulp <dk...@apache.org>
Committed: Wed Jul 16 14:01:21 2014 -0400
----------------------------------------------------------------------
...ServerResourceCreatedSpringProviderTest.java | 57 +++++++++++++-------
1 file changed, 38 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/10c0903e/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerResourceCreatedSpringProviderTest.java
----------------------------------------------------------------------
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerResourceCreatedSpringProviderTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerResourceCreatedSpringProviderTest.java
index 835fc54..48f526c 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerResourceCreatedSpringProviderTest.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerResourceCreatedSpringProviderTest.java
@@ -19,7 +19,6 @@
package org.apache.cxf.systest.jaxrs;
-import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
@@ -30,15 +29,18 @@ import java.net.Socket;
import java.net.URL;
import java.net.URLConnection;
import java.util.Collections;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
-import javax.xml.stream.XMLStreamReader;
+import javax.xml.xpath.XPathConstants;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.apache.cxf.helpers.DOMUtils;
import org.apache.cxf.helpers.IOUtils;
+import org.apache.cxf.helpers.XPathUtils;
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.jaxrs.client.WebClient;
import org.apache.cxf.jaxrs.model.AbstractResourceInfo;
@@ -104,28 +106,45 @@ public class JAXRSClientServerResourceCreatedSpringProviderTest extends Abstract
checkBookStoreInfo(resourceEls.get(0));
}
+ private void assertValidType(XPathUtils xpu, String xpath, String type, Element el) {
+ String s = (String)xpu.getValue(xpath, el, XPathConstants.STRING);
+ assertNotNull(s);
+ assertTrue("Expected " + type + " but found " + s, s.endsWith(type));
+ }
+ private void assertValid(XPathUtils xpu, String xpath, Element el) {
+ assertNotNull(xpu.getValue(xpath, el, XPathConstants.NODE));
+ }
@Test
public void testPetStoreWadl() throws Exception {
List<Element> resourceEls = getWadlResourcesInfo("http://localhost:" + PORT + "/webapp/pets",
"http://localhost:" + PORT + "/webapp/pets/", 1);
checkPetStoreInfo(resourceEls.get(0));
- XMLStreamReader reader = StaxUtils.createXMLStreamReader(
- (Element)resourceEls.get(0).getParentNode().getParentNode());
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- StaxUtils.copy(reader, bos);
- String s = bos.toString();
- assertTrue(s.contains("<xs:element name=\"elstatus\" type=\"petStoreStatusElement\"/>"));
- assertTrue(s.contains("<xs:element name=\"status\" type=\"status\"/>"));
- assertTrue(s.contains("<xs:element name=\"statusType\" type=\"statusType\"/>"));
- assertTrue(s.contains(
- "<xs:element name=\"statusImpl1\" substitutionGroup=\"statusType\" type=\"petStoreStatusImpl1\"/>"));
- assertTrue(s.contains(
- "<xs:element name=\"statusImpl2\" substitutionGroup=\"statusType\" type=\"petStoreStatusImpl2\"/>"));
- assertTrue(s.contains("<xs:element name=\"statuses\""));
- assertTrue(s.contains("element=\"prefix1:status\""));
- assertTrue(s.contains("element=\"prefix1:elstatus\""));
- assertTrue(s.contains("element=\"prefix1:statuses\""));
- assertTrue(s.contains("element=\"prefix1:statusType\""));
+
+ Element el = (Element)resourceEls.get(0).getParentNode().getParentNode();
+ Map<String, String> namespaces = new HashMap<String, String>();
+ namespaces.put("xsd", "http://www.w3.org/2001/XMLSchema");
+ namespaces.put("ns", "http://pets");
+ namespaces.put("wadl", "http://wadl.dev.java.net/2009/02");
+ XPathUtils xpu = new XPathUtils(namespaces);
+ assertValidType(xpu, "//xsd:element[@name='elstatus']/@type", "petStoreStatusElement", el);
+ assertValidType(xpu, "//xsd:schema[@targetNamespace='http://pets']/xsd:element[@name='status']/@type",
+ "status", el);
+ assertValidType(xpu, "//xsd:element[@name='statusType']/@type",
+ "statusType", el);
+ assertValidType(xpu, "//xsd:element[@name='statusImpl1']/@type",
+ "petStoreStatusImpl1", el);
+ assertValidType(xpu, "//xsd:element[@name='statusImpl1']/@substitutionGroup",
+ "statusType", el);
+ assertValidType(xpu, "//xsd:element[@name='statusImpl2']/@type",
+ "petStoreStatusImpl2", el);
+ assertValidType(xpu, "//xsd:element[@name='statusImpl2']/@substitutionGroup",
+ "statusType", el);
+
+ assertValid(xpu, "//wadl:representation[@element='prefix1:status']", el);
+ assertValid(xpu, "//wadl:representation[@element='prefix1:elstatus']", el);
+ assertValid(xpu, "//wadl:representation[@element='prefix1:statuses']", el);
+ assertValid(xpu, "//wadl:representation[@element='prefix1:statusType']", el);
+
}
@Test