You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by hi...@apache.org on 2010/08/27 07:51:05 UTC

svn commit: r990027 - /synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/url/URLRewriteMediatorTest.java

Author: hiranya
Date: Fri Aug 27 05:51:05 2010
New Revision: 990027

URL: http://svn.apache.org/viewvc?rev=990027&view=rev
Log:
Adding a more real-life like test case


Modified:
    synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/url/URLRewriteMediatorTest.java

Modified: synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/url/URLRewriteMediatorTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/url/URLRewriteMediatorTest.java?rev=990027&r1=990026&r2=990027&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/url/URLRewriteMediatorTest.java (original)
+++ synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/url/URLRewriteMediatorTest.java Fri Aug 27 05:51:05 2010
@@ -21,6 +21,7 @@ package org.apache.synapse.mediators.tra
 
 import junit.framework.TestCase;
 import org.apache.synapse.MessageContext;
+import org.apache.synapse.config.xml.URLRewriteMediatorFactory;
 import org.apache.synapse.commons.evaluators.EqualEvaluator;
 import org.apache.synapse.commons.evaluators.EvaluatorConstants;
 import org.apache.synapse.commons.evaluators.MatchEvaluator;
@@ -28,6 +29,8 @@ import org.apache.synapse.commons.evalua
 import org.apache.synapse.util.xpath.SynapseXPath;
 import org.apache.synapse.mediators.TestUtils;
 import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.util.AXIOMUtil;
 
 import java.util.regex.Pattern;
 
@@ -189,4 +192,46 @@ public class URLRewriteMediatorTest exte
 
         assertEquals(targetURL, msgCtx.getProperty("outURL"));
     }
+
+    public void testFullRewriteScenario1() throws Exception {
+        String xml = "<rewrite xmlns=\"http://synapse.apache.org/ns/2010/04/configuration\">\n" +
+                "    <rule>\n" +
+                "        <condition>\n" +
+                "            <and>\n" +
+                "                <equal type=\"url\" fragment=\"protocol\" value=\"http\"/>\n" +
+                "                <equal type=\"url\" fragment=\"host\" value=\"test.org\"/>\n" +
+                "            </and>\n" +
+                "        </condition>\n" +
+                "        <action value=\"https\" fragment=\"protocol\"/>\n" +
+                "        <action value=\"test.com\" fragment=\"host\"/>\n" +
+                "        <action value=\"9443\" fragment=\"port\"/>\n" +
+                "    </rule>\n" +
+                "    <rule>\n" +
+                "        <condition>\n" +
+                "            <not>\n" +
+                "                <match type=\"url\" fragment=\"path\" regex=\"/services/.*\"/>\n" +
+                "            </not>\n" +
+                "        </condition>\n" +
+                "        <action value=\"/services\" type=\"prepend\" fragment=\"path\"/>\n" +
+                "    </rule>\n" +
+                "    <rule>\n" +
+                "        <condition>\n" +
+                "            <match type=\"url\" fragment=\"path\" regex=\".*/MyService\"/>\n" +
+                "        </condition>        \n" +
+                "        <action fragment=\"path\" value=\"StockQuoteService\" regex=\"MyService\" type=\"replace\"/>\n" +
+                "        <action fragment=\"ref\" value=\"id\"/>\n" +
+                "    </rule>\n" +
+                "</rewrite>";
+
+        OMElement element = AXIOMUtil.stringToOM(xml);
+        URLRewriteMediator mediator = (URLRewriteMediator) new URLRewriteMediatorFactory().
+                createMediator(element);
+
+        MessageContext msgCtx = TestUtils.createLightweightSynapseMessageContext("<empty/>");
+        msgCtx.setTo(new EndpointReference("http://test.org:9763/MyService"));
+        mediator.mediate(msgCtx);
+
+        assertEquals("https://test.com:9443/services/StockQuoteService#id",
+                msgCtx.getTo().getAddress());
+    }
 }