Author: veithen
Date: Mon Dec 5 21:41:37 2011
New Revision: 1210652
URL: http://svn.apache.org/viewvc?rev=1210652&view=rev
Log:
Added a regression test for SYNAPSE-501 (which basically shows that the issue
was fixed by an improvement in Axiom).
Added:
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501-conf.xml
(with props)
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501-soap.xml
(with props)
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501.xsd
(with props)
Modified:
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContextBuilder.java
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/builtin/ValidateMediatorTest.java
Modified:
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContextBuilder.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContextBuilder.java?rev=1210652&r1=1210651&r2=1210652&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContextBuilder.java
(original)
+++
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContextBuilder.java
Mon Dec 5 21:41:37 2011
@@ -20,7 +20,6 @@
package org.apache.synapse;
import java.io.File;
-import java.io.FileInputStream;
import java.io.StringReader;
import java.net.MalformedURLException;
import java.net.URL;
@@ -53,7 +52,7 @@ public class TestMessageContextBuilder {
private final Map<String,Entry> entries = new HashMap<String,Entry>();
private boolean requireAxis2MessageContext;
private String contentString;
- private String contentFile;
+ private URL contentURL;
private boolean contentIsEnvelope;
private boolean addTextAroundBody;
@@ -67,15 +66,27 @@ public class TestMessageContextBuilder {
contentIsEnvelope = false;
return this;
}
+
+ private TestMessageContextBuilder setContentFromFile(String path, boolean
contentIsEnvelope) {
+ try {
+ contentURL = new File(path).toURL();
+ } catch (MalformedURLException ex) {
+ throw new Error(ex);
+ }
+ this.contentIsEnvelope = contentIsEnvelope;
+ return this;
+ }
public TestMessageContextBuilder setBodyFromFile(String path) {
- this.contentFile = path;
- contentIsEnvelope = false;
- return this;
+ return setContentFromFile(path, false);
}
public TestMessageContextBuilder setEnvelopeFromFile(String path) {
- this.contentFile = path;
+ return setContentFromFile(path, true);
+ }
+
+ public TestMessageContextBuilder setEnvelope(URL url) {
+ contentURL = url;
contentIsEnvelope = true;
return this;
}
@@ -132,8 +143,8 @@ public class TestMessageContextBuilder {
XMLStreamReader parser = null;
if (contentString != null) {
parser = StAXUtils.createXMLStreamReader(new
StringReader(contentString));
- } else if (contentFile != null) {
- parser = StAXUtils.createXMLStreamReader(new
FileInputStream(contentFile));
+ } else if (contentURL != null) {
+ parser = StAXUtils.createXMLStreamReader(contentURL.openStream());
}
SOAPEnvelope envelope;
Modified:
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/builtin/ValidateMediatorTest.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/builtin/ValidateMediatorTest.java?rev=1210652&r1=1210651&r2=1210652&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/builtin/ValidateMediatorTest.java
(original)
+++
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/builtin/ValidateMediatorTest.java
Mon Dec 5 21:41:37 2011
@@ -20,6 +20,8 @@
package org.apache.synapse.mediators.builtin;
import junit.framework.TestCase;
+
+import org.apache.axiom.om.OMXMLBuilderFactory;
import org.apache.commons.lang.mutable.MutableInt;
import org.apache.synapse.MessageContext;
import org.apache.synapse.TestMessageContextBuilder;
@@ -400,5 +402,19 @@ public class ValidateMediatorTest extend
return keyList;
}
-
+ /**
+ * Regression test for SYNAPSE-501.
+ *
+ * @throws Exception
+ */
+ public void testSynapse501() throws Exception {
+ ValidateMediatorFactory mf = new ValidateMediatorFactory();
+ ValidateMediator validate = (ValidateMediator)mf.createMediator(
+
OMXMLBuilderFactory.createOMBuilder(ValidateMediatorTest.class.getResourceAsStream("synapse-501-conf.xml")).getDocumentElement(),
+ new Properties());
+ MessageContext synCtx = new TestMessageContextBuilder()
+ .addEntry("validate_schema",
ValidateMediatorTest.class.getResource("synapse-501.xsd"))
+
.setEnvelope(ValidateMediatorTest.class.getResource("synapse-501-soap.xml")).build();
+ test(validate, synCtx, false);
+ }
}
Added:
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501-conf.xml
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501-conf.xml?rev=1210652&view=auto
==============================================================================
---
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501-conf.xml
(added)
+++
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501-conf.xml
Mon Dec 5 21:41:37 2011
@@ -0,0 +1,8 @@
+<validate xmlns="http://ws.apache.org/ns/synapse"
xmlns:s11="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:s12="http://www.w3.org/2003/05/soap-envelope"
source="s11:Body/child::*[position()=1] | s12:Body/child::*[position()=1]">
+ <schema key="validate_schema"/>
+ <on-fail>
+ <log level="custom">
+ <property name="MSG" value="FAIL"/>
+ </log>
+ </on-fail>
+</validate>
Propchange:
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501-conf.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added:
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501-soap.xml
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501-soap.xml?rev=1210652&view=auto
==============================================================================
---
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501-soap.xml
(added)
+++
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501-soap.xml
Mon Dec 5 21:41:37 2011
@@ -0,0 +1,14 @@
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+<SOAP-ENV:Body>
+<ns6216:issue xmlns:ns6216="http://hostname/rfid_1_0/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<nu4900:token xmlns:nu4900="http://hostname/rfid_1_0/"
xsi:type="xsd:string">00000000-00</nu4900:token>
+<nu4712:rfid xmlns:nu4712="http://hostname/rfid_1_0/"
xsi:type="xsd:string">4C46688D</nu4712:rfid>
+<nu9698:eventId xmlns:nu9698="http://hostname/rfid_1_0/"
xsi:type="xsd:string">0</nu9698:eventId>
+<nu5118:locationId xmlns:nu5118="http://hostname/rfid_1_0/"
xsi:type="xsd:long">534</nu5118:locationId>
+<nu4242:accessStart xmlns:nu4242="http://hostname/rfid_1_0/"
xsi:type="xsd:string">test0.8</nu4242:accessStart>
+</ns6216:issue>
+</SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
Propchange:
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501-soap.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added:
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501.xsd
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501.xsd?rev=1210652&view=auto
==============================================================================
---
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501.xsd
(added)
+++
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501.xsd
Mon Dec 5 21:41:37 2011
@@ -0,0 +1,35 @@
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ xmlns:tns="http://hostname/rfid_1_0/"
+ targetNamespace="http://hostname/rfid_1_0/" >
+
+<!-- ISSUE -->
+<xs:element name="issue" type="tns:issue"/>
+<xs:complexType name="issue">
+ <xs:sequence>
+ <xs:element name="token" type="xs:string"/>
+ <xs:element name="rfid" type="xs:string"/>
+ <xs:element name="eventId" type="xs:string"/>
+ <xs:element name="locationId" type="xs:long"/>
+ <xs:element name="accessStart" type="xs:string" />
+ <xs:element minOccurs="0" name="accessEnd" type="xs:string"/>
+ <xs:element minOccurs="0" name="reentry" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="count" type="xs:int"/>
+ <xs:element minOccurs="0" name="customerId" type="xs:string"/>
+ <xs:element minOccurs="0" name="customerName"
type="xs:string"/>
+ </xs:sequence>
+</xs:complexType>
+
+<!-- ISSUE RESPONSE -->
+<xs:element name="issueResponse" type="tns:issueResponse" />
+<xs:complexType name="issueResponse">
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="resultCode"
type="xs:int"/>
+ <xs:element minOccurs="1" maxOccurs="1"
name="resultDescription" type="xs:string"/>
+ <xs:element minOccurs="0" maxOccurs="1" name="transactionId"
type="xs:long"/>
+ </xs:sequence>
+</xs:complexType>
+
+</xs:schema>
Propchange:
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/mediators/builtin/synapse-501.xsd
------------------------------------------------------------------------------
svn:eol-style = native