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