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 {