From 78d41170f30bb1e18e868a61e76e69748d365abd Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Fri, 16 Jul 2010 14:05:32 +0000 Subject: [PATCH] SWS-544 - Add test framework for Spring WS client --- ...adMatcher.java => PayloadDiffMatcher.java} | 4 ++-- .../ws/mock/client/WebServiceMock.java | 6 ++--- ...rTest.java => PayloadDiffMatcherTest.java} | 6 ++--- .../xml/xpath/XPathExpressionFactory.java | 23 +++++-------------- 4 files changed, 14 insertions(+), 25 deletions(-) rename test/src/main/java/org/springframework/ws/mock/client/{PayloadMatcher.java => PayloadDiffMatcher.java} (95%) rename test/src/test/java/org/springframework/ws/mock/client/{PayloadMatcherTest.java => PayloadDiffMatcherTest.java} (88%) diff --git a/test/src/main/java/org/springframework/ws/mock/client/PayloadMatcher.java b/test/src/main/java/org/springframework/ws/mock/client/PayloadDiffMatcher.java similarity index 95% rename from test/src/main/java/org/springframework/ws/mock/client/PayloadMatcher.java rename to test/src/main/java/org/springframework/ws/mock/client/PayloadDiffMatcher.java index ed9a0f28..fb716d0f 100644 --- a/test/src/main/java/org/springframework/ws/mock/client/PayloadMatcher.java +++ b/test/src/main/java/org/springframework/ws/mock/client/PayloadDiffMatcher.java @@ -35,11 +35,11 @@ import static junit.framework.Assert.fail; * @author Lukas Krecan * @since 2.0 */ -class PayloadMatcher extends DiffMatcher { +class PayloadDiffMatcher extends DiffMatcher { private final Source expected; - PayloadMatcher(Source expected) { + PayloadDiffMatcher(Source expected) { Assert.notNull(expected, "'expected' must not be null"); this.expected = expected; } diff --git a/test/src/main/java/org/springframework/ws/mock/client/WebServiceMock.java b/test/src/main/java/org/springframework/ws/mock/client/WebServiceMock.java index 74cfd66d..5ca1b2ec 100644 --- a/test/src/main/java/org/springframework/ws/mock/client/WebServiceMock.java +++ b/test/src/main/java/org/springframework/ws/mock/client/WebServiceMock.java @@ -71,7 +71,7 @@ public abstract class WebServiceMock { */ public static RequestMatcher payload(String payload) { Assert.notNull(payload, "'payload' must not be null"); - return new PayloadMatcher(new StringSource(payload)); + return new PayloadDiffMatcher(new StringSource(payload)); } /** @@ -82,7 +82,7 @@ public abstract class WebServiceMock { */ public static RequestMatcher payload(Source payload) { Assert.notNull(payload, "'payload' must not be null"); - return new PayloadMatcher(payload); + return new PayloadDiffMatcher(payload); } /** @@ -93,7 +93,7 @@ public abstract class WebServiceMock { */ public static RequestMatcher payload(Resource payload) { Assert.notNull(payload, "'payload' must not be null"); - return new PayloadMatcher(createResourceSource(payload)); + return new PayloadDiffMatcher(createResourceSource(payload)); } /** diff --git a/test/src/test/java/org/springframework/ws/mock/client/PayloadMatcherTest.java b/test/src/test/java/org/springframework/ws/mock/client/PayloadDiffMatcherTest.java similarity index 88% rename from test/src/test/java/org/springframework/ws/mock/client/PayloadMatcherTest.java rename to test/src/test/java/org/springframework/ws/mock/client/PayloadDiffMatcherTest.java index ada14ce2..e426e90f 100644 --- a/test/src/test/java/org/springframework/ws/mock/client/PayloadMatcherTest.java +++ b/test/src/test/java/org/springframework/ws/mock/client/PayloadDiffMatcherTest.java @@ -23,7 +23,7 @@ import org.junit.Test; import static org.easymock.EasyMock.*; -public class PayloadMatcherTest { +public class PayloadDiffMatcherTest { @Test public void match() throws Exception { @@ -32,7 +32,7 @@ public class PayloadMatcherTest { expect(message.getPayloadSource()).andReturn(new StringSource(xml)); replay(message); - PayloadMatcher matcher = new PayloadMatcher(new StringSource(xml)); + PayloadDiffMatcher matcher = new PayloadDiffMatcher(new StringSource(xml)); matcher.match(null, message); verify(message); @@ -46,7 +46,7 @@ public class PayloadMatcherTest { replay(message); String expected = ""; - PayloadMatcher matcher = new PayloadMatcher(new StringSource(expected)); + PayloadDiffMatcher matcher = new PayloadDiffMatcher(new StringSource(expected)); matcher.match(null, message); } diff --git a/xml/src/main/java/org/springframework/xml/xpath/XPathExpressionFactory.java b/xml/src/main/java/org/springframework/xml/xpath/XPathExpressionFactory.java index d97d5631..897d782e 100644 --- a/xml/src/main/java/org/springframework/xml/xpath/XPathExpressionFactory.java +++ b/xml/src/main/java/org/springframework/xml/xpath/XPathExpressionFactory.java @@ -41,25 +41,11 @@ public abstract class XPathExpressionFactory { private static final Log logger = LogFactory.getLog(XPathExpressionFactory.class); - private static final String JAXEN_CLASS_NAME = "org.jaxen.XPath"; + private static boolean jaxp13Available = JaxpVersion.isAtLeastJaxp13(); - private static boolean jaxp13Available; + private static boolean jaxenAvailable = + ClassUtils.isPresent("org.jaxen.XPath", XPathExpressionFactory.class.getClassLoader()); - private static boolean jaxenAvailable; - - static { - // Check whether JAXP 1.3 is available - jaxp13Available = JaxpVersion.isAtLeastJaxp13(); - - // Check whether Jaxen is available - try { - ClassUtils.forName(JAXEN_CLASS_NAME); - jaxenAvailable = true; - } - catch (ClassNotFoundException ex) { - jaxenAvailable = false; - } - } /** * Create a compiled XPath expression using the given string. @@ -87,6 +73,9 @@ public abstract class XPathExpressionFactory { public static XPathExpression createXPathExpression(String expression, Map namespaces) throws IllegalStateException, XPathParseException { Assert.hasLength(expression, "expression is empty"); + if (namespaces == null) { + namespaces = Collections.emptyMap(); + } if (jaxp13Available) { try { logger.trace("Creating [javax.xml.xpath.XPathExpression]");