You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ve...@apache.org on 2008/06/12 16:55:42 UTC

svn commit: r667118 - in /synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport: ./ mail/ udp/ vfs/

Author: veithen
Date: Thu Jun 12 07:55:42 2008
New Revision: 667118

URL: http://svn.apache.org/viewvc?rev=667118&view=rev
Log:
Re-engineered UtilsTransportServer to be more flexible and usable in a larger range of test scenarios.

Modified:
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/AbstractTransportTest.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/UtilsTransportServer.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailEchoRawXMLTest.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/UtilsMailServer.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/udp/UDPTest.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/udp/UtilsUDPServer.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/UtilsVFSServer.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSEchoRawXMLTest.java

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/AbstractTransportTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/AbstractTransportTest.java?rev=667118&r1=667117&r2=667118&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/AbstractTransportTest.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/AbstractTransportTest.java Thu Jun 12 07:55:42 2008
@@ -32,17 +32,21 @@
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.engine.AxisConfiguration;
 
-public class AbstractTransportTest extends TestCase {
+public abstract class AbstractTransportTest extends TestCase {
 
-    protected UtilsTransportServer server = null;
+    private UtilsTransportServer server;
 
     protected void setUp() throws Exception {
+        server = createServer();
         server.start();
     }
 
     protected void tearDown() throws Exception {
         server.stop();
+        server = null;
     }
+    
+    protected abstract UtilsTransportServer createServer() throws Exception;
 
     /**
      * Create the payload for an echoOMElement request

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/UtilsTransportServer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/UtilsTransportServer.java?rev=667118&r1=667117&r2=667118&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/UtilsTransportServer.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/UtilsTransportServer.java Thu Jun 12 07:55:42 2008
@@ -34,43 +34,58 @@
 import org.apache.axis2.description.Parameter;
 import org.apache.axis2.description.TransportInDescription;
 import org.apache.axis2.description.TransportOutDescription;
+import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.axis2.engine.ListenerManager;
 import org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver;
 import org.apache.axis2.receivers.RawXMLINOutMessageReceiver;
 import org.apache.axis2.wsdl.WSDLConstants;
+import org.apache.synapse.format.BinaryBuilder;
+import org.apache.synapse.format.PlainTextBuilder;
 
 /**
  * Base class for transport util servers used in unit testing
  */
-public abstract class UtilsTransportServer {
+public class UtilsTransportServer {
 
-    private ListenerManager listnMgr = null;
-    private ConfigurationContext cfgCtx = null;
+    private final ListenerManager listnMgr;
+    private final ConfigurationContext cfgCtx;
 
-    public void start(TransportInDescription trpInDesc, TransportOutDescription trpDescOut) throws Exception {
+    public UtilsTransportServer() throws AxisFault {
         // Create a configuration context using the test repository in target/test_rep. This
         // repository is set up using maven-dependency-plugin (see pom.xml) to contain the
         // addressing module which can be engaged using the enableAddressing method.
         cfgCtx = ConfigurationContextFactory.
             createConfigurationContextFromFileSystem(new File("target/test_rep").getAbsolutePath());
+        AxisConfiguration axisConfiguration = cfgCtx.getAxisConfiguration();
 
         // remove http transport
-        cfgCtx.getAxisConfiguration().getTransportsIn().remove("http");        
-
-        // start given transport
+        axisConfiguration.getTransportsIn().remove("http");
+        
+        // add default builders known by Synapse but not by Axis2
+        axisConfiguration.addMessageBuilder("text/plain", new PlainTextBuilder());
+        axisConfiguration.addMessageBuilder("application/octet-stream", new BinaryBuilder());
+        
+        // create listener manager
         listnMgr = new ListenerManager();
         listnMgr.init(cfgCtx);
         cfgCtx.setTransportManager(listnMgr);
-        //listnMgr.addListener(trpInDesc, false);
-
-        trpDescOut.getSender().init(cfgCtx, trpDescOut);
-        cfgCtx.getAxisConfiguration().addTransportOut(trpDescOut);
-        //trpInDesc.getReceiver().init(cfgCtx, trpInDesc);        
+    }
+    
+    public void addTransport(TransportInDescription trpInDesc,
+                             TransportOutDescription trpDescOut) throws AxisFault {
+        if (trpDescOut != null) {
+            trpDescOut.getSender().init(cfgCtx, trpDescOut);
+            cfgCtx.getAxisConfiguration().addTransportOut(trpDescOut);
+        }
         listnMgr.addListener(trpInDesc, false);
-        listnMgr.start();
+    }
+
+    public void addTransport(TransportInDescription trpInDesc) throws AxisFault {
+        addTransport(trpInDesc, null);
     }
 
     public void start() throws Exception {
+        listnMgr.start();
     }
     
     public void stop() throws Exception {
@@ -81,11 +96,15 @@
         cfgCtx.getAxisConfiguration().engageModule("addressing");
     }
 
+    public AxisConfiguration getAxisConfiguration() {
+        return cfgCtx.getAxisConfiguration();
+    }
+    
     /**
      * Deploy the standard Echo service with the custom parameters passed in
      * @param name the service name to assign
      * @param parameters the parameters for the service
-     * @throws Exception
+     * @throws Exception 
      */
     public void deployEchoService(String name, List<Parameter> parameters) throws Exception {
 

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailEchoRawXMLTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailEchoRawXMLTest.java?rev=667118&r1=667117&r2=667118&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailEchoRawXMLTest.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailEchoRawXMLTest.java Thu Jun 12 07:55:42 2008
@@ -54,6 +54,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.synapse.transport.AbstractTransportTest;
+import org.apache.synapse.transport.UtilsTransportServer;
 import org.apache.synapse.transport.base.BaseConstants;
 
 public class MailEchoRawXMLTest extends AbstractTransportTest {
@@ -69,8 +70,6 @@
 
     public MailEchoRawXMLTest() {
         //Logger.getLogger("org.apache.synapse.transport.mail").setLevel(Level.TRACE);
-        server = new UtilsMailServer();
-
         props.put("mail.smtp.class", TestTransport.class.getName());
         
         props.put("mail.pop3.host", "pop.gmail.com");
@@ -89,6 +88,11 @@
         props.put("mail.smtp.auth", "true");
     }
 
+    @Override
+    protected UtilsTransportServer createServer() throws Exception {
+        return new UtilsMailServer();
+    }
+
     private void assertPOXEchoResponse(String textValue, Object reply) throws Exception {
         if (reply != null && reply instanceof String) {
             log.debug("Result Body : " + reply);

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/UtilsMailServer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/UtilsMailServer.java?rev=667118&r1=667117&r2=667118&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/UtilsMailServer.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/UtilsMailServer.java Thu Jun 12 07:55:42 2008
@@ -32,7 +32,7 @@
 
 public class UtilsMailServer extends UtilsTransportServer {
 
-    public void start() throws Exception {
+    public UtilsMailServer() throws Exception {
 
         TransportOutDescription trpOutDesc =
             new TransportOutDescription(MailConstants.TRANSPORT_NAME);
@@ -51,7 +51,7 @@
         TransportInDescription trpInDesc =
             new TransportInDescription(MailConstants.TRANSPORT_NAME);
         trpInDesc.setReceiver(new MailTransportListener());
-        super.start(trpInDesc, trpOutDesc);
+        addTransport(trpInDesc, trpOutDesc);
 
         // Service1 - polls synapse.test.6@gmail.com using POP3/SSL, and writes the response to
         // synapse.test.1@gmail.com and deletes request on success. Polls every 5 secs

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/udp/UDPTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/udp/UDPTest.java?rev=667118&r1=667117&r2=667118&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/udp/UDPTest.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/udp/UDPTest.java Thu Jun 12 07:55:42 2008
@@ -32,13 +32,15 @@
 import org.apache.axis2.description.TransportOutDescription;
 import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.synapse.transport.AbstractTransportTest;
+import org.apache.synapse.transport.UtilsTransportServer;
 
 /**
  * Test case for {@link UDPListener} and {@link UDPSender}.
  */
 public class UDPTest extends AbstractTransportTest {
-    public UDPTest() {
-        server = new UtilsUDPServer();
+    @Override
+    protected UtilsTransportServer createServer() throws Exception {
+        return new UtilsUDPServer();
     }
     
     public void testSoapOverUdpWithEchoService() throws Exception {

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/udp/UtilsUDPServer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/udp/UtilsUDPServer.java?rev=667118&r1=667117&r2=667118&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/udp/UtilsUDPServer.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/udp/UtilsUDPServer.java Thu Jun 12 07:55:42 2008
@@ -28,13 +28,12 @@
 import org.apache.synapse.transport.UtilsTransportServer;
 
 public class UtilsUDPServer extends UtilsTransportServer {
-    @Override
-    public void start() throws Exception {
+    public UtilsUDPServer() throws Exception {
         TransportInDescription trpInDesc = new TransportInDescription("udp");
         trpInDesc.setReceiver(new UDPListener());
         TransportOutDescription trpOutDesc = new TransportOutDescription("udp");
         trpOutDesc.setSender(new UDPSender());
-        start(trpInDesc, trpOutDesc);
+        addTransport(trpInDesc, trpOutDesc);
         enableAddressing();
         
         List<Parameter> params = new LinkedList<Parameter>();

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/UtilsVFSServer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/UtilsVFSServer.java?rev=667118&r1=667117&r2=667118&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/UtilsVFSServer.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/UtilsVFSServer.java Thu Jun 12 07:55:42 2008
@@ -33,7 +33,7 @@
  */
 public class UtilsVFSServer extends UtilsTransportServer {
 
-    public void start() throws Exception {
+    public UtilsVFSServer() throws Exception {
 
         TransportOutDescription trpOutDesc =
             new TransportOutDescription(VFSTransportListener.TRANSPORT_NAME);
@@ -42,7 +42,7 @@
         TransportInDescription trpInDesc =
             new TransportInDescription(VFSTransportListener.TRANSPORT_NAME);
         trpInDesc.setReceiver(new VFSTransportListener());
-        super.start(trpInDesc, trpOutDesc);
+        addTransport(trpInDesc, trpOutDesc);
 
         // create a temp directory for us to poll for the sample service
         makeCleanPath("./target/vfs1/req");

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSEchoRawXMLTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSEchoRawXMLTest.java?rev=667118&r1=667117&r2=667118&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSEchoRawXMLTest.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSEchoRawXMLTest.java Thu Jun 12 07:55:42 2008
@@ -28,6 +28,7 @@
 import org.apache.axis2.client.Options;
 import org.apache.axis2.client.ServiceClient;
 import org.apache.synapse.transport.AbstractTransportTest;
+import org.apache.synapse.transport.UtilsTransportServer;
 import org.apache.commons.vfs.FileSystemManager;
 import org.apache.commons.vfs.FileObject;
 import org.apache.commons.vfs.VFS;
@@ -36,9 +37,9 @@
 import java.io.FileInputStream;
 
 public class VFSEchoRawXMLTest extends AbstractTransportTest {
-
-    public VFSEchoRawXMLTest() {
-        server = new UtilsVFSServer();
+    @Override
+    protected UtilsTransportServer createServer() throws Exception {
+        return new UtilsVFSServer();
     }
 
     public void testXMLFileInDirectory() throws Exception {