Author: sadeep
Date: Sun Apr 22 11:50:14 2012
New Revision: 1328855

URL: http://svn.apache.org/viewvc?rev=1328855&view=rev
Log:
Adding unit tests for PayloadFactory mediator

Added:
    
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/PayloadFactoryMediatorSerializationTest.java
    
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/PayloadFactoryMediatorTest.java

Added: 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/PayloadFactoryMediatorSerializationTest.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/PayloadFactoryMediatorSerializationTest.java?rev=1328855&view=auto
==============================================================================
--- 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/PayloadFactoryMediatorSerializationTest.java
 (added)
+++ 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/PayloadFactoryMediatorSerializationTest.java
 Sun Apr 22 11:50:14 2012
@@ -0,0 +1,76 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.synapse.config.xml;
+
+public class PayloadFactoryMediatorSerializationTest extends AbstractTestCase {
+
+    private PayloadFactoryMediatorFactory payloadFactoryMediatorFactory;
+    private PayloadFactoryMediatorSerializer payloadFactoryMediatorSerializer;
+
+    public PayloadFactoryMediatorSerializationTest() {
+        super(AbstractTestCase.class.getName());
+        payloadFactoryMediatorFactory = new PayloadFactoryMediatorFactory();
+        payloadFactoryMediatorSerializer = new 
PayloadFactoryMediatorSerializer();
+    }
+
+    public void testPayloadFactoryMediatorStaticArgsSerialization() throws 
Exception {
+
+        String inputXml = "<payloadFactory 
xmlns=\"http://ws.apache.org/ns/synapse\";>" +
+                
"<format><foo><bar>$1</bar><batz>X</batz></foo></format><args><arg 
value=\"One\"/></args>" +
+                "</payloadFactory>";
+
+        assertTrue(serialization(inputXml, payloadFactoryMediatorFactory, 
payloadFactoryMediatorSerializer));
+        assertTrue(serialization(inputXml, payloadFactoryMediatorSerializer));
+    }
+
+    public void testPayloadFactoryMediatorExpressionArgsSerialization() throws 
Exception {
+
+        String inputXml = "<payloadFactory 
xmlns=\"http://ws.apache.org/ns/synapse\";>" +
+                "<format><foo><bar>$1</bar><batz>X</batz></foo></format>" +
+                "<args><arg expression=\"get-property('foo')\"/><arg 
value=\"Two\"/></args></payloadFactory>";
+
+        assertTrue(serialization(inputXml, payloadFactoryMediatorFactory, 
payloadFactoryMediatorSerializer));
+        assertTrue(serialization(inputXml, payloadFactoryMediatorSerializer));
+    }
+
+    public void testPayloadFactoryMediatorFormatWithNamespaceSerialization() 
throws Exception {
+
+        String inputXml = "<payloadFactory 
xmlns=\"http://ws.apache.org/ns/synapse\";>" +
+                "<format><m:getQuote 
xmlns:m=\"http://services.samples\";><m:request><m:symbol>$1</m:symbol>" +
+                "</m:request></m:getQuote></format><args><arg 
xmlns:m0=\"http://services.samples\"; " +
+                "expression=\"//m0:Code\"/></args></payloadFactory>";
+
+        assertTrue(serialization(inputXml, payloadFactoryMediatorFactory, 
payloadFactoryMediatorSerializer));
+        assertTrue(serialization(inputXml, payloadFactoryMediatorSerializer));
+    }
+
+    public void testPayloadFactoryMediatorMultiArgsSerialization() throws 
Exception {
+
+        String inputXml = "<payloadFactory 
xmlns=\"http://ws.apache.org/ns/synapse\";>" +
+                "<format><m:CheckPriceResponse 
xmlns:m=\"http://services.samples/xsd\";><m:Code>$1</m:Code>" +
+                "<m:Price>$2</m:Price></m:CheckPriceResponse></format><args>" +
+                "<arg xmlns:m0=\"http://services.samples/xsd\"; 
expression=\"//m0:symbol\"/>" +
+                "<arg xmlns:m0=\"http://services.samples/xsd\"; 
expression=\"//m0:last\"/></args></payloadFactory>";
+
+        assertTrue(serialization(inputXml, payloadFactoryMediatorFactory, 
payloadFactoryMediatorSerializer));
+        assertTrue(serialization(inputXml, payloadFactoryMediatorSerializer));
+    }
+
+}

Added: 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/PayloadFactoryMediatorTest.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/PayloadFactoryMediatorTest.java?rev=1328855&view=auto
==============================================================================
--- 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/PayloadFactoryMediatorTest.java
 (added)
+++ 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/PayloadFactoryMediatorTest.java
 Sun Apr 22 11:50:14 2012
@@ -0,0 +1,73 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.synapse.mediators.transform;
+
+import junit.framework.TestCase;
+import org.apache.synapse.MessageContext;
+import org.apache.synapse.mediators.TestUtils;
+import org.apache.synapse.util.xpath.SynapseXPath;
+
+public class PayloadFactoryMediatorTest extends TestCase {
+
+    private static final String SOURCE =
+            "<m:CheckPriceRequest 
xmlns:m=\"http://services.samples\";><m:Code>IBM</m:Code></m:CheckPriceRequest>";
+
+    private static final String FORMAT =
+            "<m:getQuote 
xmlns:m=\"http://services.samples\";><m:request><m:symbol>$1</m:symbol></m:request>"
 +
+            "</m:getQuote>";
+
+    public void testStaticArgs() throws Exception {
+        
+        PayloadFactoryMediator mediator = new PayloadFactoryMediator();
+        mediator.setFormat(FORMAT);
+        PayloadFactoryMediator.Argument arg = new 
PayloadFactoryMediator.Argument();
+        arg.setValue("IBM");
+        mediator.addArgument(arg);
+
+        testTransformation(mediator);
+    }
+
+    public void testExpressionArgs() throws Exception {
+
+        PayloadFactoryMediator mediator = new PayloadFactoryMediator();
+        mediator.setFormat(FORMAT);
+        PayloadFactoryMediator.Argument arg = new 
PayloadFactoryMediator.Argument();
+        SynapseXPath expression = new SynapseXPath("//m:Code");
+        expression.addNamespace("m", "http://services.samples";);
+        arg.setExpression(expression);
+        mediator.addArgument(arg);
+
+        testTransformation(mediator);
+    }
+
+    private void testTransformation(PayloadFactoryMediator mediator) throws 
Exception {
+
+        MessageContext synCtx = TestUtils.getTestContext(SOURCE);
+
+        assertTrue(mediator.mediate(synCtx));
+
+        SynapseXPath xpath = new 
SynapseXPath("//m:getQuote/m:request/m:symbol");
+        xpath.addNamespace("m", "http://services.samples";);
+        xpath.stringValueOf(synCtx);
+
+        assertEquals("IBM", xpath.stringValueOf(synCtx));
+    }
+
+}


Reply via email to