/* * 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.bsf; import org.apache.axiom.om.impl.exception.XMLComparisonException; import org.apache.synapse.mediators.AbstractTestCase; public class ScriptMediatorSerializationTest extends AbstractTestCase { ScriptMediatorFactory mediatorFactory; ScriptMediatorSerializer scriptMediatorSerializer; public ScriptMediatorSerializationTest() { mediatorFactory = new ScriptMediatorFactory(); scriptMediatorSerializer = new ScriptMediatorSerializer(); } public void testScriptMediatorSerializationScenarioOne() throws XMLComparisonException { String inputXml = "<script xmlns=\"http://ws.apache.org/ns/synapse\" key=\"script-key\" function=\"funOne\" language=\"js\"></script> "; assertTrue(serialization(inputXml, mediatorFactory, scriptMediatorSerializer)); assertTrue(serialization(inputXml, scriptMediatorSerializer)); } public void testScriptMediatorSerializationScenarioTwo() throws XMLComparisonException { String inputXml = "<script xmlns=\"http://ws.apache.org/ns/synapse\" language=\"js\" key=\"script-key\" ></script> "; assertTrue(serialization(inputXml, mediatorFactory, scriptMediatorSerializer)); assertTrue(serialization(inputXml, scriptMediatorSerializer)); } public void testInlineScriptMediatorSerializationScenarioOne() throws XMLComparisonException { String inputXml = "<syn:script xmlns:syn=\"http://ws.apache.org/ns/synapse\" language='js'>" + "<![CDATA[var symbol = mc.getPayloadXML()..*::Code.toString();mc.setPayloadXML(<m:getQuote xmlns:m=\"http://services.samples/xsd\">\n" + "<m:request><m:symbol>{symbol}</m:symbol></m:request></m:getQuote>);]]></syn:script> "; assertTrue(serialization(inputXml, mediatorFactory, scriptMediatorSerializer)); assertTrue(serialization(inputXml, scriptMediatorSerializer)); } public void testInlineScriptMediatorSerializationScenarioTwo() throws XMLComparisonException { String inputXml = "<syn:script xmlns:syn=\"http://ws.apache.org/ns/synapse\" language='rb'>" + "<![CDATA[" + "require 'rexml/document'\n" + "include REXML\n" + "newRequest= Document.new '<m:getQuote xmlns:m=\"http://services.samples/xsd\"><m:request><m:symbol>...test...</m:symbol></m:request></m:getQuote>'\n" + "newRequest.root.elements[1].elements[1].text = $mc.getPayloadXML().root.elements[1].get_text\n" + "$mc.setPayloadXML(newRequest)" + "]]></syn:script>"; assertTrue(serialization(inputXml, mediatorFactory, scriptMediatorSerializer)); assertTrue(serialization(inputXml, scriptMediatorSerializer)); } }