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));
+ }
+
+}