/* * 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 URLRewriteMediatorSerializationTest extends AbstractTestCase { private URLRewriteMediatorFactory urlRewriteMediatorFactory = null; private URLRewriteMediatorSerializer urlRewriteMediatorSerializer = null; public URLRewriteMediatorSerializationTest() { urlRewriteMediatorFactory = new URLRewriteMediatorFactory(); urlRewriteMediatorSerializer = new URLRewriteMediatorSerializer(); } public void testSerializationScenario1() { String xml = "<rewrite xmlns=\"http://ws.apache.org/ns/synapse\"><rewriterule>" + "<action fragment=\"protocol\" value=\"https\" type=\"set\"/><action " + "fragment=\"host\" value=\"www.test.com\" type=\"set\"/><action " + "fragment=\"port\" value=\"9090\" type=\"set\"/><action fragment=\"path\" " + "value=\"/services\" type=\"prepend\"/></rewriterule></rewrite>"; assertTrue(serialization(xml, urlRewriteMediatorFactory, urlRewriteMediatorSerializer)); } public void testSerializationScenario2() { String xml = "<rewrite xmlns=\"http://ws.apache.org/ns/synapse\">" + "<rewriterule><condition><match type=\"url\" source=\"host\" regex=\"localhost\"/>" + "</condition><action fragment=\"protocol\" value=\"https\" type=\"set\"/>" + "<action fragment=\"host\" value=\"www.test.com\" type=\"set\"/><action " + "fragment=\"port\" value=\"9090\" type=\"set\"/><action fragment=\"path\" " + "value=\"/services\" type=\"prepend\"/></rewriterule>" + "</rewrite>"; assertTrue(serialization(xml, urlRewriteMediatorFactory, urlRewriteMediatorSerializer)); } public void testSerializationScenario3() { String xml = "<rewrite xmlns=\"http://ws.apache.org/ns/synapse\"><rewriterule>" + "<action fragment=\"full\" value=\"http://localhost:8080/synapse\" type=\"set\"/></rewriterule>" + "<rewriterule><condition><match type=\"url\" source=\"host\" regex=\"localhost\"/>" + "</condition><action fragment=\"protocol\" value=\"https\" type=\"set\"/>" + "<action fragment=\"host\" value=\"www.test.com\" type=\"set\"/>" + "<action fragment=\"port\" xpath=\"get-property('port')\" type=\"set\"/>" + "<action fragment=\"path\" value=\"/services\" type=\"prepend\"/></rewriterule><rewriterule>" + "<condition><and><match type=\"url\" source=\"host\" regex=\"www.test.com\"/>" + "<equal type=\"url\" source=\"port\" value=\"9090\"/></and></condition>" + "<action fragment=\"path\" regex=\".*/FooService\" type=\"replace\" " + "value=\"/BarService\"/></rewriterule>" + "</rewrite>"; assertTrue(serialization(xml, urlRewriteMediatorFactory, urlRewriteMediatorSerializer)); } }