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/08/15 14:36:08 UTC

svn commit: r686206 [1/2] - in /synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport: jms/ mail/ nhttp/ testkit/ testkit/client/ testkit/client/axis2/ testkit/listener/ testkit/message/ testkit/tests/ testkit/tests/async/ te...

Author: veithen
Date: Fri Aug 15 05:36:06 2008
New Revision: 686206

URL: http://svn.apache.org/viewvc?rev=686206&view=rev
Log:
Transport test kit: Renamed MessageSender to TestClient (including subclasses) to avoid confusion between the test classes and the classes under test.

Added:
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSAxisAsyncClient.java
      - copied, changed from r686184, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSAxisAsyncMessageSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSBytesMessageClient.java
      - copied, changed from r686062, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSBytesMessageSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSClient.java
      - copied, changed from r686062, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/AbstractJMSSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSTextMessageClient.java
      - copied, changed from r686062, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSTextMessageSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailClient.java
      - copied, changed from r686062, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MimeClient.java
      - copied, changed from r686043, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MimeSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MultipartClient.java
      - copied, changed from r686043, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MultipartSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetClient.java
      - copied, changed from r686062, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetRESTClient.java
      - copied, changed from r686075, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetRESTSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/AbstractTestClient.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/AsyncTestClient.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/AsyncTestClientAdapter.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/ClientOptions.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/TestClient.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/XMLRequestResponseTestClient.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisAsyncTestClient.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisRequestResponseTestClient.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisTestClient.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSClient.java
Removed:
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/AbstractJMSSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSAxisAsyncMessageSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSBytesMessageSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSTextMessageSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MimeSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MultipartSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetRESTSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AbstractMessageSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AsyncMessageSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AsyncMessageSenderAdapter.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AxisAsyncMessageSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AxisMessageSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AxisRequestResponseMessageSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/MessageSender.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/SenderOptions.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/XMLRequestResponseMessageSender.java
Modified:
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSListenerTest.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailTransportListenerTest.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListenerTest.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/AdapterUtils.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/TransportTestSuite.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AsyncMessageTestCase.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/message/MessageConverter.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TransportTestCase.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/BinaryTestCase.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/RESTTestCase.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/SwATestCase.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/TextPlainTestCase.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/XMLAsyncMessageTestCase.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/echo/XMLRequestResponseMessageTestCase.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTransportListenerTest.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTransportSenderTest.java

Copied: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSAxisAsyncClient.java (from r686184, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSAxisAsyncMessageSender.java)
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSAxisAsyncClient.java?p2=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSAxisAsyncClient.java&p1=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSAxisAsyncMessageSender.java&r1=686184&r2=686206&rev=686206&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSAxisAsyncMessageSender.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSAxisAsyncClient.java Fri Aug 15 05:36:06 2008
@@ -22,15 +22,15 @@
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.context.MessageContext;
 import org.apache.synapse.transport.testkit.TransportDescriptionFactory;
-import org.apache.synapse.transport.testkit.listener.AxisAsyncMessageSender;
+import org.apache.synapse.transport.testkit.client.axis2.AxisAsyncTestClient;
 import org.apache.synapse.transport.testkit.name.DisplayName;
 import org.apache.synapse.transport.testkit.name.NameComponent;
 
 @DisplayName("axis")
-public class JMSAxisAsyncMessageSender extends AxisAsyncMessageSender {
+public class JMSAxisAsyncClient extends AxisAsyncTestClient {
     private final String jmsMessageType;
     
-    public JMSAxisAsyncMessageSender(TransportDescriptionFactory tdf, String jmsMessageType) {
+    public JMSAxisAsyncClient(TransportDescriptionFactory tdf, String jmsMessageType) {
         super(tdf);
         this.jmsMessageType = jmsMessageType;
     }

Copied: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSBytesMessageClient.java (from r686062, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSBytesMessageSender.java)
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSBytesMessageClient.java?p2=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSBytesMessageClient.java&p1=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSBytesMessageSender.java&r1=686062&r2=686206&rev=686206&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSBytesMessageSender.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSBytesMessageClient.java Fri Aug 15 05:36:06 2008
@@ -22,15 +22,15 @@
 import javax.jms.BytesMessage;
 
 import org.apache.synapse.transport.base.BaseConstants;
-import org.apache.synapse.transport.testkit.listener.AsyncMessageSender;
-import org.apache.synapse.transport.testkit.listener.SenderOptions;
+import org.apache.synapse.transport.testkit.client.AsyncTestClient;
+import org.apache.synapse.transport.testkit.client.ClientOptions;
 import org.apache.synapse.transport.testkit.message.ByteArrayMessage;
 import org.apache.synapse.transport.testkit.name.DisplayName;
 
 @DisplayName("BytesMessage")
-public class JMSBytesMessageSender extends AbstractJMSSender implements AsyncMessageSender<JMSTestEnvironment,JMSAsyncChannel,ByteArrayMessage> {
+public class JMSBytesMessageClient extends JMSClient implements AsyncTestClient<JMSTestEnvironment,JMSAsyncChannel,ByteArrayMessage> {
     public void sendMessage(JMSAsyncChannel channel,
-                            SenderOptions options,
+                            ClientOptions options,
                             ByteArrayMessage message) throws Exception {
         BytesMessage jmsMessage = session.createBytesMessage();
         if (message.getContentType() != null) {

Copied: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSClient.java (from r686062, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/AbstractJMSSender.java)
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSClient.java?p2=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSClient.java&p1=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/AbstractJMSSender.java&r1=686062&r2=686206&rev=686206&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/AbstractJMSSender.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSClient.java Fri Aug 15 05:36:06 2008
@@ -25,9 +25,9 @@
 import javax.jms.MessageProducer;
 import javax.jms.Session;
 
-import org.apache.synapse.transport.testkit.listener.AbstractMessageSender;
+import org.apache.synapse.transport.testkit.client.AbstractTestClient;
 
-public class AbstractJMSSender extends AbstractMessageSender<JMSTestEnvironment,JMSAsyncChannel> {
+public class JMSClient extends AbstractTestClient<JMSTestEnvironment,JMSAsyncChannel> {
     protected Connection connection;
     protected Session session;
     protected MessageProducer producer;

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSListenerTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSListenerTest.java?rev=686206&r1=686205&r2=686206&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSListenerTest.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSListenerTest.java Fri Aug 15 05:36:06 2008
@@ -30,9 +30,9 @@
 import org.apache.axis2.context.MessageContext;
 import org.apache.synapse.transport.testkit.TransportDescriptionFactory;
 import org.apache.synapse.transport.testkit.TransportTestSuite;
-import org.apache.synapse.transport.testkit.listener.AsyncMessageSender;
-import org.apache.synapse.transport.testkit.listener.AxisAsyncMessageSender;
-import org.apache.synapse.transport.testkit.listener.AxisRequestResponseMessageSender;
+import org.apache.synapse.transport.testkit.client.AsyncTestClient;
+import org.apache.synapse.transport.testkit.client.axis2.AxisAsyncTestClient;
+import org.apache.synapse.transport.testkit.client.axis2.AxisRequestResponseTestClient;
 import org.apache.synapse.transport.testkit.listener.ContentTypeMode;
 import org.apache.synapse.transport.testkit.listener.MessageTestData;
 import org.apache.synapse.transport.testkit.message.MessageConverter;
@@ -45,40 +45,40 @@
         JMSTestEnvironment env = new QpidTestEnvironment();
         TransportDescriptionFactory tdf = new JMSTransportDescriptionFactory();
         AxisServer<JMSTestEnvironment> server = new AxisServer<JMSTestEnvironment>(tdf);
-        JMSBytesMessageSender bytesMessageSender = new JMSBytesMessageSender();
-        JMSTextMessageSender textMessageSender = new JMSTextMessageSender();
-        List<AsyncMessageSender<? super JMSTestEnvironment,? super JMSAsyncChannel,XMLMessage>> senders = new LinkedList<AsyncMessageSender<? super JMSTestEnvironment,? super JMSAsyncChannel,XMLMessage>>();
-        senders.add(adapt(bytesMessageSender, MessageConverter.XML_TO_BYTE));
-        senders.add(adapt(textMessageSender, MessageConverter.XML_TO_STRING));
-        senders.add(new AxisAsyncMessageSender(tdf));
-        senders.add(new JMSAxisAsyncMessageSender(tdf, JMSConstants.JMS_BYTE_MESSAGE));
-        senders.add(new JMSAxisAsyncMessageSender(tdf, JMSConstants.JMS_TEXT_MESSAGE));
-        suite.addPOXTests(env, new JMSRequestResponseChannel(JMSConstants.DESTINATION_TYPE_QUEUE, JMSConstants.DESTINATION_TYPE_QUEUE), new AxisRequestResponseMessageSender(tdf), server, ContentTypeMode.TRANSPORT);
-        suite.addPOXTests(env, new JMSRequestResponseChannel(JMSConstants.DESTINATION_TYPE_QUEUE, JMSConstants.DESTINATION_TYPE_QUEUE), new AxisRequestResponseMessageSender(tdf), new MockEchoEndpointFactory(), ContentTypeMode.TRANSPORT);
+        JMSBytesMessageClient bytesMessageClient = new JMSBytesMessageClient();
+        JMSTextMessageClient textMessageClient = new JMSTextMessageClient();
+        List<AsyncTestClient<? super JMSTestEnvironment,? super JMSAsyncChannel,XMLMessage>> clients = new LinkedList<AsyncTestClient<? super JMSTestEnvironment,? super JMSAsyncChannel,XMLMessage>>();
+        clients.add(adapt(bytesMessageClient, MessageConverter.XML_TO_BYTE));
+        clients.add(adapt(textMessageClient, MessageConverter.XML_TO_STRING));
+        clients.add(new AxisAsyncTestClient(tdf));
+        clients.add(new JMSAxisAsyncClient(tdf, JMSConstants.JMS_BYTE_MESSAGE));
+        clients.add(new JMSAxisAsyncClient(tdf, JMSConstants.JMS_TEXT_MESSAGE));
+        suite.addPOXTests(env, new JMSRequestResponseChannel(JMSConstants.DESTINATION_TYPE_QUEUE, JMSConstants.DESTINATION_TYPE_QUEUE), new AxisRequestResponseTestClient(tdf), server, ContentTypeMode.TRANSPORT);
+        suite.addPOXTests(env, new JMSRequestResponseChannel(JMSConstants.DESTINATION_TYPE_QUEUE, JMSConstants.DESTINATION_TYPE_QUEUE), new AxisRequestResponseTestClient(tdf), new MockEchoEndpointFactory(), ContentTypeMode.TRANSPORT);
         for (String destinationType : new String[] { JMSConstants.DESTINATION_TYPE_QUEUE, JMSConstants.DESTINATION_TYPE_TOPIC }) {
             JMSAsyncChannel channel = new JMSAsyncChannel(destinationType);
             for (ContentTypeMode contentTypeMode : ContentTypeMode.values()) {
-                for (AsyncMessageSender<? super JMSTestEnvironment,? super JMSAsyncChannel,XMLMessage> sender : senders) {
+                for (AsyncTestClient<? super JMSTestEnvironment,? super JMSAsyncChannel,XMLMessage> client : clients) {
                     if (contentTypeMode == ContentTypeMode.TRANSPORT) {
-                        suite.addSOAPTests(env, channel, sender, server, contentTypeMode);
-                        suite.addPOXTests(env, channel, sender, server, contentTypeMode);
+                        suite.addSOAPTests(env, channel, client, server, contentTypeMode);
+                        suite.addPOXTests(env, channel, client, server, contentTypeMode);
                     } else {
                         // If no content type header is used, SwA can't be used and the JMS transport
                         // always uses the default charset encoding
-                        suite.addSOAP11Test(env, channel, sender, server, contentTypeMode, new MessageTestData(null, TransportTestSuite.testString,
+                        suite.addSOAP11Test(env, channel, client, server, contentTypeMode, new MessageTestData(null, TransportTestSuite.testString,
                                 MessageContext.DEFAULT_CHAR_SET_ENCODING));
-                        suite.addSOAP12Test(env, channel, sender, server, contentTypeMode, new MessageTestData(null, TransportTestSuite.testString,
+                        suite.addSOAP12Test(env, channel, client, server, contentTypeMode, new MessageTestData(null, TransportTestSuite.testString,
                                 MessageContext.DEFAULT_CHAR_SET_ENCODING));
-                        suite.addPOXTest(env, channel, sender, server, contentTypeMode, new MessageTestData(null, TransportTestSuite.testString,
+                        suite.addPOXTest(env, channel, client, server, contentTypeMode, new MessageTestData(null, TransportTestSuite.testString,
                                 MessageContext.DEFAULT_CHAR_SET_ENCODING));
                     }
                 }
                 if (contentTypeMode == ContentTypeMode.TRANSPORT) {
-                    suite.addSwATests(env, channel, bytesMessageSender, server);
+                    suite.addSwATests(env, channel, bytesMessageClient, server);
                 }
                 // TODO: these tests are temporarily disabled because of SYNAPSE-304
                 // addTextPlainTests(strategy, suite);
-                suite.addBinaryTest(env, channel, bytesMessageSender, adapt(server, MessageConverter.AXIS_TO_BYTE), contentTypeMode);
+                suite.addBinaryTest(env, channel, bytesMessageClient, adapt(server, MessageConverter.AXIS_TO_BYTE), contentTypeMode);
             }
         }
         return suite;

Copied: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSTextMessageClient.java (from r686062, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSTextMessageSender.java)
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSTextMessageClient.java?p2=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSTextMessageClient.java&p1=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSTextMessageSender.java&r1=686062&r2=686206&rev=686206&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSTextMessageSender.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSTextMessageClient.java Fri Aug 15 05:36:06 2008
@@ -22,14 +22,14 @@
 import javax.jms.TextMessage;
 
 import org.apache.synapse.transport.base.BaseConstants;
-import org.apache.synapse.transport.testkit.listener.AsyncMessageSender;
-import org.apache.synapse.transport.testkit.listener.SenderOptions;
+import org.apache.synapse.transport.testkit.client.AsyncTestClient;
+import org.apache.synapse.transport.testkit.client.ClientOptions;
 import org.apache.synapse.transport.testkit.message.StringMessage;
 import org.apache.synapse.transport.testkit.name.DisplayName;
 
 @DisplayName("TextMessage")
-public class JMSTextMessageSender extends AbstractJMSSender implements AsyncMessageSender<JMSTestEnvironment,JMSAsyncChannel,StringMessage> {
-    public void sendMessage(JMSAsyncChannel channel, SenderOptions options, StringMessage message) throws Exception {
+public class JMSTextMessageClient extends JMSClient implements AsyncTestClient<JMSTestEnvironment,JMSAsyncChannel,StringMessage> {
+    public void sendMessage(JMSAsyncChannel channel, ClientOptions options, StringMessage message) throws Exception {
         TextMessage jmsMessage = session.createTextMessage();
         if (message.getContentType() != null) {
             jmsMessage.setStringProperty(BaseConstants.CONTENT_TYPE, message.getContentType());

Copied: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailClient.java (from r686062, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailSender.java)
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailClient.java?p2=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailClient.java&p1=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailSender.java&r1=686062&r2=686206&rev=686206&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailSender.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailClient.java Fri Aug 15 05:36:06 2008
@@ -31,13 +31,13 @@
 import javax.mail.util.ByteArrayDataSource;
 
 import org.apache.synapse.transport.testkit.TestEnvironment;
-import org.apache.synapse.transport.testkit.listener.AbstractMessageSender;
-import org.apache.synapse.transport.testkit.listener.AsyncMessageSender;
-import org.apache.synapse.transport.testkit.listener.SenderOptions;
+import org.apache.synapse.transport.testkit.client.AbstractTestClient;
+import org.apache.synapse.transport.testkit.client.AsyncTestClient;
+import org.apache.synapse.transport.testkit.client.ClientOptions;
 import org.apache.synapse.transport.testkit.message.ByteArrayMessage;
 
-public abstract class MailSender extends AbstractMessageSender<TestEnvironment,MailChannel> implements AsyncMessageSender<TestEnvironment,MailChannel,ByteArrayMessage> {
-    public void sendMessage(MailChannel channel, SenderOptions options, ByteArrayMessage message) throws Exception {
+public abstract class MailClient extends AbstractTestClient<TestEnvironment,MailChannel> implements AsyncTestClient<TestEnvironment,MailChannel,ByteArrayMessage> {
+    public void sendMessage(MailChannel channel, ClientOptions options, ByteArrayMessage message) throws Exception {
         Properties props = new Properties();
         props.put("mail.smtp.class", TestTransport.class.getName());
         Session session = Session.getInstance(props);

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailTransportListenerTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailTransportListenerTest.java?rev=686206&r1=686205&r2=686206&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailTransportListenerTest.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MailTransportListenerTest.java Fri Aug 15 05:36:06 2008
@@ -31,7 +31,7 @@
 import org.apache.synapse.transport.testkit.TestEnvironment;
 import org.apache.synapse.transport.testkit.TransportDescriptionFactory;
 import org.apache.synapse.transport.testkit.TransportTestSuite;
-import org.apache.synapse.transport.testkit.listener.AsyncMessageSender;
+import org.apache.synapse.transport.testkit.client.AsyncTestClient;
 import org.apache.synapse.transport.testkit.listener.ContentTypeMode;
 import org.apache.synapse.transport.testkit.message.MessageConverter;
 import org.apache.synapse.transport.testkit.message.XMLMessage;
@@ -45,17 +45,17 @@
                     MailTransportListener.class, MailTransportSender.class);
         AxisServer<TestEnvironment> axisServer = new AxisServer<TestEnvironment>(tdf);
         MailChannel channel = new MailChannel("test-account@localhost");
-        List<MailSender> senders = new LinkedList<MailSender>();
-        senders.add(new MimeSender());
-        senders.add(new MultipartSender());
-        for (MailSender sender : senders) {
-            AsyncMessageSender<TestEnvironment,MailChannel,XMLMessage> xmlSender = adapt(sender, MessageConverter.XML_TO_BYTE);
+        List<MailClient> clients = new LinkedList<MailClient>();
+        clients.add(new MimeClient());
+        clients.add(new MultipartClient());
+        for (MailClient client : clients) {
+            AsyncTestClient<TestEnvironment,MailChannel,XMLMessage> xmlClient = adapt(client, MessageConverter.XML_TO_BYTE);
             // TODO: SOAP 1.2 tests don't work yet for mail transport
-            suite.addSOAP11Test(null, channel, xmlSender, axisServer, ContentTypeMode.TRANSPORT, TransportTestSuite.ASCII_TEST_DATA);
-            suite.addSOAP11Test(null, channel, xmlSender, axisServer, ContentTypeMode.TRANSPORT, TransportTestSuite.UTF8_TEST_DATA);
+            suite.addSOAP11Test(null, channel, xmlClient, axisServer, ContentTypeMode.TRANSPORT, TransportTestSuite.ASCII_TEST_DATA);
+            suite.addSOAP11Test(null, channel, xmlClient, axisServer, ContentTypeMode.TRANSPORT, TransportTestSuite.UTF8_TEST_DATA);
             // TODO: this test fails when using multipart
-            if (sender instanceof MimeSender) {
-                suite.addSOAP11Test(null, channel, xmlSender, axisServer, ContentTypeMode.TRANSPORT, TransportTestSuite.LATIN1_TEST_DATA);
+            if (client instanceof MimeClient) {
+                suite.addSOAP11Test(null, channel, xmlClient, axisServer, ContentTypeMode.TRANSPORT, TransportTestSuite.LATIN1_TEST_DATA);
             }
             // addSOAPTests(strategy, suite);
             // TODO: POX tests don't work yet for mail transport

Copied: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MimeClient.java (from r686043, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MimeSender.java)
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MimeClient.java?p2=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MimeClient.java&p1=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MimeSender.java&r1=686043&r2=686206&rev=686206&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MimeSender.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MimeClient.java Fri Aug 15 05:36:06 2008
@@ -22,7 +22,7 @@
 import javax.activation.DataHandler;
 import javax.mail.internet.MimeMessage;
 
-public class MimeSender extends MailSender {
+public class MimeClient extends MailClient {
     @Override
     protected void setupMessage(MimeMessage msg, DataHandler dh) throws Exception {
         msg.setDataHandler(dh);

Copied: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MultipartClient.java (from r686043, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MultipartSender.java)
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MultipartClient.java?p2=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MultipartClient.java&p1=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MultipartSender.java&r1=686043&r2=686206&rev=686206&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MultipartSender.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/mail/MultipartClient.java Fri Aug 15 05:36:06 2008
@@ -24,7 +24,7 @@
 import javax.mail.internet.MimeMessage;
 import javax.mail.internet.MimeMultipart;
 
-public class MultipartSender extends MailSender {
+public class MultipartClient extends MailClient {
     @Override
     protected void setupMessage(MimeMessage msg, DataHandler dh) throws Exception {
         MimeMultipart multipart = new MimeMultipart();

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListenerTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListenerTest.java?rev=686206&r1=686205&r2=686206&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListenerTest.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListenerTest.java Fri Aug 15 05:36:06 2008
@@ -35,8 +35,8 @@
 import org.apache.synapse.transport.testkit.TestEnvironment;
 import org.apache.synapse.transport.testkit.TransportDescriptionFactory;
 import org.apache.synapse.transport.testkit.TransportTestSuite;
-import org.apache.synapse.transport.testkit.listener.AsyncMessageSender;
-import org.apache.synapse.transport.testkit.listener.AxisAsyncMessageSender;
+import org.apache.synapse.transport.testkit.client.AsyncTestClient;
+import org.apache.synapse.transport.testkit.client.axis2.AxisAsyncTestClient;
 import org.apache.synapse.transport.testkit.listener.ContentTypeMode;
 import org.apache.synapse.transport.testkit.message.MessageConverter;
 import org.apache.synapse.transport.testkit.message.XMLMessage;
@@ -66,19 +66,19 @@
         
         AxisServer<TestEnvironment> axisServer = new AxisServer<TestEnvironment>(tdf);
         HttpChannel channel = new HttpChannel();
-        JavaNetSender javaNetSender = new JavaNetSender();
-        List<AsyncMessageSender<TestEnvironment,? super HttpChannel,XMLMessage>> senders = new LinkedList<AsyncMessageSender<TestEnvironment,? super HttpChannel,XMLMessage>>();
-        senders.add(adapt(javaNetSender, MessageConverter.XML_TO_BYTE));
-        senders.add(new AxisAsyncMessageSender(tdf));
-        for (AsyncMessageSender<TestEnvironment,? super HttpChannel,XMLMessage> sender : senders) {
-            suite.addSOAPTests(null, channel, sender, axisServer, ContentTypeMode.TRANSPORT);
-            suite.addPOXTests(null, channel, sender, axisServer, ContentTypeMode.TRANSPORT);
+        JavaNetClient javaNetClient = new JavaNetClient();
+        List<AsyncTestClient<TestEnvironment,? super HttpChannel,XMLMessage>> clients = new LinkedList<AsyncTestClient<TestEnvironment,? super HttpChannel,XMLMessage>>();
+        clients.add(adapt(javaNetClient, MessageConverter.XML_TO_BYTE));
+        clients.add(new AxisAsyncTestClient(tdf));
+        for (AsyncTestClient<TestEnvironment,? super HttpChannel,XMLMessage> client : clients) {
+            suite.addSOAPTests(null, channel, client, axisServer, ContentTypeMode.TRANSPORT);
+            suite.addPOXTests(null, channel, client, axisServer, ContentTypeMode.TRANSPORT);
         }
 //        suite.addPOXTests(channel, new AxisRequestResponseMessageSender(), ContentTypeMode.TRANSPORT);
-        suite.addSwATests(null, channel, javaNetSender, axisServer);
-        suite.addTextPlainTests(null, channel, adapt(javaNetSender, MessageConverter.STRING_TO_BYTE), adapt(axisServer, MessageConverter.AXIS_TO_STRING), ContentTypeMode.TRANSPORT);
-        suite.addBinaryTest(null, channel, javaNetSender, adapt(axisServer, MessageConverter.AXIS_TO_BYTE), ContentTypeMode.TRANSPORT);
-        suite.addRESTTests(null, channel, new JavaNetRESTSender(), axisServer);
+        suite.addSwATests(null, channel, javaNetClient, axisServer);
+        suite.addTextPlainTests(null, channel, adapt(javaNetClient, MessageConverter.STRING_TO_BYTE), adapt(axisServer, MessageConverter.AXIS_TO_STRING), ContentTypeMode.TRANSPORT);
+        suite.addBinaryTest(null, channel, javaNetClient, adapt(axisServer, MessageConverter.AXIS_TO_BYTE), ContentTypeMode.TRANSPORT);
+        suite.addRESTTests(null, channel, new JavaNetRESTClient(), axisServer);
         return suite;
     }
 }

Copied: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetClient.java (from r686062, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetSender.java)
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetClient.java?p2=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetClient.java&p1=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetSender.java&r1=686062&r2=686206&rev=686206&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetSender.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetClient.java Fri Aug 15 05:36:06 2008
@@ -26,16 +26,16 @@
 
 import org.apache.commons.io.IOUtils;
 import org.apache.synapse.transport.testkit.TestEnvironment;
-import org.apache.synapse.transport.testkit.listener.AbstractMessageSender;
+import org.apache.synapse.transport.testkit.client.AbstractTestClient;
+import org.apache.synapse.transport.testkit.client.AsyncTestClient;
+import org.apache.synapse.transport.testkit.client.ClientOptions;
 import org.apache.synapse.transport.testkit.listener.AsyncChannel;
-import org.apache.synapse.transport.testkit.listener.AsyncMessageSender;
-import org.apache.synapse.transport.testkit.listener.SenderOptions;
 import org.apache.synapse.transport.testkit.message.ByteArrayMessage;
 import org.apache.synapse.transport.testkit.name.DisplayName;
 
 @DisplayName("java.net")
-public class JavaNetSender extends AbstractMessageSender<TestEnvironment,AsyncChannel<?>> implements AsyncMessageSender<TestEnvironment,AsyncChannel<?>,ByteArrayMessage> {
-    public void sendMessage(AsyncChannel<?> channel, SenderOptions options, ByteArrayMessage message) throws Exception {
+public class JavaNetClient extends AbstractTestClient<TestEnvironment,AsyncChannel<?>> implements AsyncTestClient<TestEnvironment,AsyncChannel<?>,ByteArrayMessage> {
+    public void sendMessage(AsyncChannel<?> channel, ClientOptions options, ByteArrayMessage message) throws Exception {
         URLConnection connection = new URL(options.getEndpointReference()).openConnection();
         connection.setDoOutput(true);
         connection.setDoInput(true);

Copied: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetRESTClient.java (from r686075, synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetRESTSender.java)
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetRESTClient.java?p2=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetRESTClient.java&p1=synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetRESTSender.java&r1=686075&r2=686206&rev=686206&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetRESTSender.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetRESTClient.java Fri Aug 15 05:36:06 2008
@@ -25,17 +25,17 @@
 
 import org.apache.commons.io.IOUtils;
 import org.apache.synapse.transport.testkit.TestEnvironment;
-import org.apache.synapse.transport.testkit.listener.AbstractMessageSender;
+import org.apache.synapse.transport.testkit.client.AbstractTestClient;
+import org.apache.synapse.transport.testkit.client.AsyncTestClient;
+import org.apache.synapse.transport.testkit.client.ClientOptions;
 import org.apache.synapse.transport.testkit.listener.AsyncChannel;
-import org.apache.synapse.transport.testkit.listener.AsyncMessageSender;
-import org.apache.synapse.transport.testkit.listener.SenderOptions;
 import org.apache.synapse.transport.testkit.message.RESTMessage;
 import org.apache.synapse.transport.testkit.name.DisplayName;
 import org.apache.synapse.transport.testkit.server.axis2.DefaultOperationDispatcher;
 
 @DisplayName("java.net")
-public class JavaNetRESTSender extends AbstractMessageSender<TestEnvironment,AsyncChannel<?>> implements AsyncMessageSender<TestEnvironment,AsyncChannel<?>,RESTMessage> {
-    public void sendMessage(AsyncChannel<?> channel, SenderOptions options, RESTMessage message) throws Exception {
+public class JavaNetRESTClient extends AbstractTestClient<TestEnvironment,AsyncChannel<?>> implements AsyncTestClient<TestEnvironment,AsyncChannel<?>,RESTMessage> {
+    public void sendMessage(AsyncChannel<?> channel, ClientOptions options, RESTMessage message) throws Exception {
         StringBuilder url = new StringBuilder();
         url.append(options.getEndpointReference());
         url.append('/');

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/AdapterUtils.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/AdapterUtils.java?rev=686206&r1=686205&r2=686206&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/AdapterUtils.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/AdapterUtils.java Fri Aug 15 05:36:06 2008
@@ -19,16 +19,16 @@
 
 package org.apache.synapse.transport.testkit;
 
+import org.apache.synapse.transport.testkit.client.AsyncTestClient;
+import org.apache.synapse.transport.testkit.client.AsyncTestClientAdapter;
 import org.apache.synapse.transport.testkit.listener.AsyncChannel;
-import org.apache.synapse.transport.testkit.listener.AsyncMessageSender;
-import org.apache.synapse.transport.testkit.listener.AsyncMessageSenderAdapter;
 import org.apache.synapse.transport.testkit.message.MessageConverter;
 import org.apache.synapse.transport.testkit.server.AsyncEndpointFactory;
 import org.apache.synapse.transport.testkit.server.AsyncEndpointFactoryAdapter;
 
 public class AdapterUtils {
-    public static <E extends TestEnvironment,C extends AsyncChannel<?>,M,N> AsyncMessageSender<E,C,M> adapt(AsyncMessageSender<E,C,N> parent, MessageConverter<M,N> converter) {
-        return new AsyncMessageSenderAdapter<E,C,M,N>(parent, converter);
+    public static <E extends TestEnvironment,C extends AsyncChannel<?>,M,N> AsyncTestClient<E,C,M> adapt(AsyncTestClient<E,C,N> parent, MessageConverter<M,N> converter) {
+        return new AsyncTestClientAdapter<E,C,M,N>(parent, converter);
     }
 
     public static <E extends TestEnvironment,C extends AsyncChannel<? super E>,M,N> AsyncEndpointFactory<E,C,M> adapt(AsyncEndpointFactory<E,C,N> targetFactory, MessageConverter<N,M> converter) {

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/TransportTestSuite.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/TransportTestSuite.java?rev=686206&r1=686205&r2=686206&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/TransportTestSuite.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/TransportTestSuite.java Fri Aug 15 05:36:06 2008
@@ -23,12 +23,12 @@
 
 import org.apache.axiom.soap.SOAP11Constants;
 import org.apache.axiom.soap.SOAP12Constants;
+import org.apache.synapse.transport.testkit.client.AsyncTestClient;
+import org.apache.synapse.transport.testkit.client.XMLRequestResponseTestClient;
 import org.apache.synapse.transport.testkit.listener.AsyncChannel;
-import org.apache.synapse.transport.testkit.listener.AsyncMessageSender;
 import org.apache.synapse.transport.testkit.listener.ContentTypeMode;
 import org.apache.synapse.transport.testkit.listener.MessageTestData;
 import org.apache.synapse.transport.testkit.listener.RequestResponseChannel;
-import org.apache.synapse.transport.testkit.listener.XMLRequestResponseMessageSender;
 import org.apache.synapse.transport.testkit.message.ByteArrayMessage;
 import org.apache.synapse.transport.testkit.message.MessageData;
 import org.apache.synapse.transport.testkit.message.RESTMessage;
@@ -78,69 +78,69 @@
         this(true);
     }
 
-    public <C extends AsyncChannel<? super E>> void addSOAP11Test(E env, C channel, AsyncMessageSender<? super E,? super C,XMLMessage> sender, AsyncEndpointFactory<? super E,? super C,MessageData> endpointFactory, ContentTypeMode contentTypeMode, MessageTestData data) {
-        addTest(new XMLAsyncMessageTestCase<E,C>(env, channel, sender, endpointFactory, XMLMessageType.SOAP11, contentTypeMode, SOAP11Constants.SOAP_11_CONTENT_TYPE, data));
+    public <C extends AsyncChannel<? super E>> void addSOAP11Test(E env, C channel, AsyncTestClient<? super E,? super C,XMLMessage> client, AsyncEndpointFactory<? super E,? super C,MessageData> endpointFactory, ContentTypeMode contentTypeMode, MessageTestData data) {
+        addTest(new XMLAsyncMessageTestCase<E,C>(env, channel, client, endpointFactory, XMLMessageType.SOAP11, contentTypeMode, SOAP11Constants.SOAP_11_CONTENT_TYPE, data));
     }
     
-    public <C extends AsyncChannel<? super E>> void addSOAP12Test(E env, C channel, AsyncMessageSender<? super E,? super C,XMLMessage> sender, AsyncEndpointFactory<? super E,? super C,MessageData> endpointFactory, ContentTypeMode contentTypeMode, MessageTestData data) {
-        addTest(new XMLAsyncMessageTestCase<E,C>(env, channel, sender, endpointFactory, XMLMessageType.SOAP12, contentTypeMode, SOAP12Constants.SOAP_12_CONTENT_TYPE, data));
+    public <C extends AsyncChannel<? super E>> void addSOAP12Test(E env, C channel, AsyncTestClient<? super E,? super C,XMLMessage> client, AsyncEndpointFactory<? super E,? super C,MessageData> endpointFactory, ContentTypeMode contentTypeMode, MessageTestData data) {
+        addTest(new XMLAsyncMessageTestCase<E,C>(env, channel, client, endpointFactory, XMLMessageType.SOAP12, contentTypeMode, SOAP12Constants.SOAP_12_CONTENT_TYPE, data));
     }
     
-    public <C extends AsyncChannel<? super E>> void addSOAPTests(E env, C channel, AsyncMessageSender<? super E,? super C,XMLMessage> sender, AsyncEndpointFactory<? super E,? super C,MessageData> endpointFactory, ContentTypeMode contentTypeMode) {
+    public <C extends AsyncChannel<? super E>> void addSOAPTests(E env, C channel, AsyncTestClient<? super E,? super C,XMLMessage> client, AsyncEndpointFactory<? super E,? super C,MessageData> endpointFactory, ContentTypeMode contentTypeMode) {
         for (MessageTestData data : messageTestData) {
-            addTest(new XMLAsyncMessageTestCase<E,C>(env, channel, sender, endpointFactory, XMLMessageType.SOAP11, contentTypeMode, SOAP11Constants.SOAP_11_CONTENT_TYPE, data));
-            addTest(new XMLAsyncMessageTestCase<E,C>(env, channel, sender, endpointFactory, XMLMessageType.SOAP12, contentTypeMode, SOAP12Constants.SOAP_12_CONTENT_TYPE, data));
-//            addSOAP11Test(channel, sender, endpointFactory, contentTypeMode, data);
-//            addSOAP12Test(channel, sender, endpointFactory, contentTypeMode, data);
+            addTest(new XMLAsyncMessageTestCase<E,C>(env, channel, client, endpointFactory, XMLMessageType.SOAP11, contentTypeMode, SOAP11Constants.SOAP_11_CONTENT_TYPE, data));
+            addTest(new XMLAsyncMessageTestCase<E,C>(env, channel, client, endpointFactory, XMLMessageType.SOAP12, contentTypeMode, SOAP12Constants.SOAP_12_CONTENT_TYPE, data));
+//            addSOAP11Test(channel, client, endpointFactory, contentTypeMode, data);
+//            addSOAP12Test(channel, client, endpointFactory, contentTypeMode, data);
         }
     }
     
-    public <C extends AsyncChannel<? super E>> void addPOXTest(E env, C channel, AsyncMessageSender<? super E,? super C,XMLMessage> sender, AsyncEndpointFactory<? super E,? super C,MessageData> endpointFactory, ContentTypeMode contentTypeMode, MessageTestData data) {
-        addTest(new XMLAsyncMessageTestCase<E,C>(env, channel, sender, endpointFactory, XMLMessageType.POX, contentTypeMode, "application/xml", data));
+    public <C extends AsyncChannel<? super E>> void addPOXTest(E env, C channel, AsyncTestClient<? super E,? super C,XMLMessage> client, AsyncEndpointFactory<? super E,? super C,MessageData> endpointFactory, ContentTypeMode contentTypeMode, MessageTestData data) {
+        addTest(new XMLAsyncMessageTestCase<E,C>(env, channel, client, endpointFactory, XMLMessageType.POX, contentTypeMode, "application/xml", data));
     }
     
-    public <C extends AsyncChannel<? super E>> void addPOXTests(E env, C channel, AsyncMessageSender<? super E,? super C,XMLMessage> sender, AsyncEndpointFactory<? super E,? super C,MessageData> endpointFactory, ContentTypeMode contentTypeMode) {
+    public <C extends AsyncChannel<? super E>> void addPOXTests(E env, C channel, AsyncTestClient<? super E,? super C,XMLMessage> client, AsyncEndpointFactory<? super E,? super C,MessageData> endpointFactory, ContentTypeMode contentTypeMode) {
         for (MessageTestData data : messageTestData) {
-            addTest(new XMLAsyncMessageTestCase<E,C>(env, channel, sender, endpointFactory, XMLMessageType.POX, contentTypeMode, "application/xml", data));
-//            addPOXTest(channel, sender, endpointFactory, contentTypeMode, data);
+            addTest(new XMLAsyncMessageTestCase<E,C>(env, channel, client, endpointFactory, XMLMessageType.POX, contentTypeMode, "application/xml", data));
+//            addPOXTest(channel, client, endpointFactory, contentTypeMode, data);
         }
     }
     
-    public <C extends RequestResponseChannel<? super E>> void addPOXTest(E env, C channel, XMLRequestResponseMessageSender<? super E,? super C> sender, EndpointFactory<? super E,? super C> endpointFactory, ContentTypeMode contentTypeMode, MessageTestData data) {
-        addTest(new XMLRequestResponseMessageTestCase<E,C>(env, channel, sender, endpointFactory, contentTypeMode, "application/xml", XMLMessageType.POX, data));
+    public <C extends RequestResponseChannel<? super E>> void addPOXTest(E env, C channel, XMLRequestResponseTestClient<? super E,? super C> client, EndpointFactory<? super E,? super C> endpointFactory, ContentTypeMode contentTypeMode, MessageTestData data) {
+        addTest(new XMLRequestResponseMessageTestCase<E,C>(env, channel, client, endpointFactory, contentTypeMode, "application/xml", XMLMessageType.POX, data));
     }
     
-    public <C extends RequestResponseChannel<? super E>> void addPOXTests(E env, C channel, XMLRequestResponseMessageSender<? super E,? super C> sender, EndpointFactory<? super E,? super C> endpointFactory, ContentTypeMode contentTypeMode) {
+    public <C extends RequestResponseChannel<? super E>> void addPOXTests(E env, C channel, XMLRequestResponseTestClient<? super E,? super C> client, EndpointFactory<? super E,? super C> endpointFactory, ContentTypeMode contentTypeMode) {
         for (MessageTestData data : messageTestData) {
-//            addPOXTest(channel, sender, endpointFactory, contentTypeMode, data);
-            addTest(new XMLRequestResponseMessageTestCase<E,C>(env, channel, sender, endpointFactory, contentTypeMode, "application/xml", XMLMessageType.POX, data));
+//            addPOXTest(channel, client, endpointFactory, contentTypeMode, data);
+            addTest(new XMLRequestResponseMessageTestCase<E,C>(env, channel, client, endpointFactory, contentTypeMode, "application/xml", XMLMessageType.POX, data));
         }
     }
     
     // TODO: this test actually only makes sense if the transport supports a Content-Type header
-    public <C extends AsyncChannel<? super E>> void addSwATests(E env, C channel, AsyncMessageSender<? super E,? super C,ByteArrayMessage> sender, AsyncEndpointFactory<? super E,? super C,MessageData> endpointFactory) {
-        addTest(new SwATestCase<E,C>(env, channel, sender, endpointFactory));
+    public <C extends AsyncChannel<? super E>> void addSwATests(E env, C channel, AsyncTestClient<? super E,? super C,ByteArrayMessage> client, AsyncEndpointFactory<? super E,? super C,MessageData> endpointFactory) {
+        addTest(new SwATestCase<E,C>(env, channel, client, endpointFactory));
     }
     
-    public <C extends AsyncChannel<? super E>> void addTextPlainTest(E env, C channel, AsyncMessageSender<? super E,? super C,StringMessage> sender, AsyncEndpointFactory<? super E,? super C,StringMessage> endpointFactory, ContentTypeMode contentTypeMode, MessageTestData data) {
-        addTest(new TextPlainTestCase<E,C>(env, channel, sender, endpointFactory, contentTypeMode, data));
+    public <C extends AsyncChannel<? super E>> void addTextPlainTest(E env, C channel, AsyncTestClient<? super E,? super C,StringMessage> client, AsyncEndpointFactory<? super E,? super C,StringMessage> endpointFactory, ContentTypeMode contentTypeMode, MessageTestData data) {
+        addTest(new TextPlainTestCase<E,C>(env, channel, client, endpointFactory, contentTypeMode, data));
     }
     
-    public <C extends AsyncChannel<? super E>> void addTextPlainTests(E env, C channel, AsyncMessageSender<? super E,? super C,StringMessage> sender, AsyncEndpointFactory<? super E,? super C,StringMessage> endpointFactory, ContentTypeMode contentTypeMode) {
+    public <C extends AsyncChannel<? super E>> void addTextPlainTests(E env, C channel, AsyncTestClient<? super E,? super C,StringMessage> client, AsyncEndpointFactory<? super E,? super C,StringMessage> endpointFactory, ContentTypeMode contentTypeMode) {
         for (MessageTestData data : messageTestData) {
-//            addTextPlainTest(channel, sender, endpointFactory, contentTypeMode, data);
-            addTest(new TextPlainTestCase<E,C>(env, channel, sender, endpointFactory, contentTypeMode, data));
+//            addTextPlainTest(channel, client, endpointFactory, contentTypeMode, data);
+            addTest(new TextPlainTestCase<E,C>(env, channel, client, endpointFactory, contentTypeMode, data));
         }
     }
     
-    public <C extends AsyncChannel<? super E>> void addBinaryTest(E env, C channel, AsyncMessageSender<? super E,? super C,ByteArrayMessage> sender, AsyncEndpointFactory<? super E,? super C,ByteArrayMessage> endpointFactory, ContentTypeMode contentTypeMode) {
-        addTest(new BinaryTestCase<E,C>(env, channel, sender, endpointFactory, contentTypeMode));
+    public <C extends AsyncChannel<? super E>> void addBinaryTest(E env, C channel, AsyncTestClient<? super E,? super C,ByteArrayMessage> client, AsyncEndpointFactory<? super E,? super C,ByteArrayMessage> endpointFactory, ContentTypeMode contentTypeMode) {
+        addTest(new BinaryTestCase<E,C>(env, channel, client, endpointFactory, contentTypeMode));
     }
 
-    public <C extends AsyncChannel<? super E>> void addRESTTests(E env, C channel, AsyncMessageSender<? super E,? super C,RESTMessage> sender, AsyncEndpointFactory<? super E,? super C,MessageData> endpointFactory) {
-        addTest(new RESTTestCase<E,C>(env, channel, sender, endpointFactory, restTestMessage1));
+    public <C extends AsyncChannel<? super E>> void addRESTTests(E env, C channel, AsyncTestClient<? super E,? super C,RESTMessage> client, AsyncEndpointFactory<? super E,? super C,MessageData> endpointFactory) {
+        addTest(new RESTTestCase<E,C>(env, channel, client, endpointFactory, restTestMessage1));
         // TODO: regression test for SYNAPSE-431
-//        addTest(new RESTTestCase<E,C>(env, channel, sender, endpointFactory, restTestMessage2));
+//        addTest(new RESTTestCase<E,C>(env, channel, client, endpointFactory, restTestMessage2));
     }
 
 /*

Added: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/AbstractTestClient.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/AbstractTestClient.java?rev=686206&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/AbstractTestClient.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/AbstractTestClient.java Fri Aug 15 05:36:06 2008
@@ -0,0 +1,31 @@
+/*
+ *  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.transport.testkit.client;
+
+import org.apache.synapse.transport.testkit.TestEnvironment;
+import org.apache.synapse.transport.testkit.listener.Channel;
+
+public abstract class AbstractTestClient<E extends TestEnvironment,C extends Channel<?>> implements TestClient<E,C> {
+    public void setUp(E env, C channel) throws Exception {
+    }
+    
+    public void tearDown() throws Exception {
+    }
+}

Added: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/AsyncTestClient.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/AsyncTestClient.java?rev=686206&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/AsyncTestClient.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/AsyncTestClient.java Fri Aug 15 05:36:06 2008
@@ -0,0 +1,27 @@
+/*
+ *  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.transport.testkit.client;
+
+import org.apache.synapse.transport.testkit.TestEnvironment;
+import org.apache.synapse.transport.testkit.listener.AsyncChannel;
+
+public interface AsyncTestClient<E extends TestEnvironment,C extends AsyncChannel<?>,M> extends TestClient<E,C> {
+    void sendMessage(C channel, ClientOptions options, M message) throws Exception;
+}

Added: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/AsyncTestClientAdapter.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/AsyncTestClientAdapter.java?rev=686206&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/AsyncTestClientAdapter.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/AsyncTestClientAdapter.java Fri Aug 15 05:36:06 2008
@@ -0,0 +1,51 @@
+/*
+ *  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.transport.testkit.client;
+
+import org.apache.synapse.transport.testkit.Adapter;
+import org.apache.synapse.transport.testkit.TestEnvironment;
+import org.apache.synapse.transport.testkit.listener.AsyncChannel;
+import org.apache.synapse.transport.testkit.message.MessageConverter;
+
+public class AsyncTestClientAdapter<E extends TestEnvironment,C extends AsyncChannel<?>,M,N> implements AsyncTestClient<E,C,M>, Adapter {
+    private final AsyncTestClient<E,C,N> target;
+    private final MessageConverter<M,N> converter;
+
+    public AsyncTestClientAdapter(AsyncTestClient<E,C,N> target, MessageConverter<M,N> converter) {
+        this.target = target;
+        this.converter = converter;
+    }
+    
+    public AsyncTestClient<E,C,N> getTarget() {
+        return target;
+    }
+
+    public void sendMessage(C channel, ClientOptions options, M message) throws Exception {
+        target.sendMessage(channel, options, converter.convert(options, message));
+    }
+
+    public void setUp(E env,C channel) throws Exception {
+        target.setUp(env, channel);
+    }
+
+    public void tearDown() throws Exception {
+        target.tearDown();
+    }
+}

Added: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/ClientOptions.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/ClientOptions.java?rev=686206&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/ClientOptions.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/ClientOptions.java Fri Aug 15 05:36:06 2008
@@ -0,0 +1,38 @@
+/*
+ *  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.transport.testkit.client;
+
+public class ClientOptions {
+    private final String endpointReference;
+    private final String charset;
+
+    public ClientOptions(String endpointReference, String charset) {
+        this.endpointReference = endpointReference;
+        this.charset = charset;
+    }
+
+    public String getEndpointReference() {
+        return endpointReference;
+    }
+
+    public String getCharset() {
+        return charset;
+    }
+}

Added: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/TestClient.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/TestClient.java?rev=686206&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/TestClient.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/TestClient.java Fri Aug 15 05:36:06 2008
@@ -0,0 +1,28 @@
+/*
+ *  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.transport.testkit.client;
+
+import org.apache.synapse.transport.testkit.TestEnvironment;
+import org.apache.synapse.transport.testkit.listener.Channel;
+
+public interface TestClient<E extends TestEnvironment,C extends Channel<?>> {
+    void setUp(E env, C channel) throws Exception;
+    void tearDown() throws Exception;
+}
\ No newline at end of file

Added: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/XMLRequestResponseTestClient.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/XMLRequestResponseTestClient.java?rev=686206&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/XMLRequestResponseTestClient.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/XMLRequestResponseTestClient.java Fri Aug 15 05:36:06 2008
@@ -0,0 +1,29 @@
+/*
+ *  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.transport.testkit.client;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.synapse.transport.testkit.TestEnvironment;
+import org.apache.synapse.transport.testkit.listener.RequestResponseChannel;
+import org.apache.synapse.transport.testkit.message.XMLMessageType;
+
+public interface XMLRequestResponseTestClient<E extends TestEnvironment,C extends RequestResponseChannel<?>> extends TestClient<E,C> {
+    OMElement sendMessage(C channel, String endpointReference, String contentType, String charset, XMLMessageType xmlMessageType, OMElement payload) throws Exception;
+}

Added: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisAsyncTestClient.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisAsyncTestClient.java?rev=686206&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisAsyncTestClient.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisAsyncTestClient.java Fri Aug 15 05:36:06 2008
@@ -0,0 +1,40 @@
+/*
+ *  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.transport.testkit.client.axis2;
+
+import org.apache.axis2.client.ServiceClient;
+import org.apache.synapse.transport.testkit.TestEnvironment;
+import org.apache.synapse.transport.testkit.TransportDescriptionFactory;
+import org.apache.synapse.transport.testkit.client.AsyncTestClient;
+import org.apache.synapse.transport.testkit.client.ClientOptions;
+import org.apache.synapse.transport.testkit.listener.AsyncChannel;
+import org.apache.synapse.transport.testkit.message.XMLMessage;
+import org.apache.synapse.transport.testkit.name.DisplayName;
+
+@DisplayName("axis")
+public class AxisAsyncTestClient extends AxisTestClient<AsyncChannel<?>> implements AsyncTestClient<TestEnvironment,AsyncChannel<?>,XMLMessage> {
+    public AxisAsyncTestClient(TransportDescriptionFactory tdf) {
+        super(tdf);
+    }
+
+    public void sendMessage(AsyncChannel<?> channel, ClientOptions options, XMLMessage message) throws Exception {
+        createClient(options.getEndpointReference(), ServiceClient.ANON_OUT_ONLY_OP, message.getXmlMessageType(), message.getPayload(), options.getCharset()).execute(false);
+    }
+}

Added: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisRequestResponseTestClient.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisRequestResponseTestClient.java?rev=686206&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisRequestResponseTestClient.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisRequestResponseTestClient.java Fri Aug 15 05:36:06 2008
@@ -0,0 +1,50 @@
+/*
+ *  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.transport.testkit.client.axis2;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axis2.client.OperationClient;
+import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.wsdl.WSDLConstants;
+import org.apache.synapse.transport.testkit.TestEnvironment;
+import org.apache.synapse.transport.testkit.TransportDescriptionFactory;
+import org.apache.synapse.transport.testkit.client.XMLRequestResponseTestClient;
+import org.apache.synapse.transport.testkit.listener.RequestResponseChannel;
+import org.apache.synapse.transport.testkit.message.XMLMessageType;
+import org.apache.synapse.transport.testkit.name.DisplayName;
+
+@DisplayName("axis")
+public class AxisRequestResponseTestClient extends AxisTestClient<RequestResponseChannel<?>> implements XMLRequestResponseTestClient<TestEnvironment,RequestResponseChannel<?>> {
+    public AxisRequestResponseTestClient(TransportDescriptionFactory tdf) {
+        super(tdf);
+    }
+
+    public OMElement sendMessage(RequestResponseChannel<?> channel,
+            String endpointReference, String contentType, String charset,
+            XMLMessageType xmlMessageType, OMElement payload) throws Exception {
+        
+        OperationClient mepClient = createClient(endpointReference, ServiceClient.ANON_OUT_IN_OP, xmlMessageType, payload, charset);
+        mepClient.execute(true);
+        
+        MessageContext response = mepClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
+        return response.getEnvelope().getBody().getFirstElement();
+    }
+}

Added: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisTestClient.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisTestClient.java?rev=686206&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisTestClient.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisTestClient.java Fri Aug 15 05:36:06 2008
@@ -0,0 +1,101 @@
+/*
+ *  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.transport.testkit.client.axis2;
+
+import java.io.File;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
+import org.apache.axis2.client.OperationClient;
+import org.apache.axis2.client.Options;
+import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.TransportOutDescription;
+import org.apache.axis2.engine.AxisConfiguration;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.synapse.transport.testkit.TestEnvironment;
+import org.apache.synapse.transport.testkit.TransportDescriptionFactory;
+import org.apache.synapse.transport.testkit.client.AbstractTestClient;
+import org.apache.synapse.transport.testkit.listener.Channel;
+import org.apache.synapse.transport.testkit.message.XMLMessageType;
+
+public class AxisTestClient<C extends Channel<?>> extends AbstractTestClient<TestEnvironment,C> {
+    private static final Log log = LogFactory.getLog(AxisTestClient.class);
+    
+    private final TransportDescriptionFactory tdf;
+    
+    private C channel;
+    private TransportOutDescription trpOutDesc;
+    private ConfigurationContext cfgCtx;
+    
+    public AxisTestClient(TransportDescriptionFactory tdf) {
+        this.tdf = tdf;
+    }
+
+    @Override
+    public void setUp(TestEnvironment env, C channel) throws Exception {
+        super.setUp(env, channel);
+        this.channel = channel;
+        
+        cfgCtx =
+            ConfigurationContextFactory.createConfigurationContextFromFileSystem(
+                    new File("target/test_rep").getAbsolutePath());
+        AxisConfiguration axisCfg = cfgCtx.getAxisConfiguration();
+
+        trpOutDesc = tdf.createTransportOutDescription();
+        axisCfg.addTransportOut(trpOutDesc);
+        trpOutDesc.getSender().init(cfgCtx, trpOutDesc);
+    }
+
+    @Override
+    public void tearDown() throws Exception {
+        super.tearDown();
+        trpOutDesc.getSender().stop();
+    }
+    
+    protected OperationClient createClient(String endpointReference, QName operationQName, XMLMessageType xmlMessageType, OMElement payload, String charset) throws AxisFault {
+        log.info("Sending to " + endpointReference);
+        
+        Options options = new Options();
+        options.setTo(channel.createEndpointReference(endpointReference));
+
+        ServiceClient serviceClient = new ServiceClient(cfgCtx, null);
+        serviceClient.setOptions(options);
+        
+        OperationClient mepClient = serviceClient.createClient(operationQName);
+        MessageContext mc = xmlMessageType.createMessageContext(payload);
+        channel.setupRequestMessageContext(mc);
+        setupRequestMessageContext(mc);
+        mc.setProperty(Constants.Configuration.CHARACTER_SET_ENCODING, charset);
+        mc.setServiceContext(serviceClient.getServiceContext());
+        mepClient.addMessageContext(mc);
+        
+        return mepClient;
+    }
+    
+    protected void setupRequestMessageContext(@SuppressWarnings("unused") MessageContext msgContext) throws AxisFault {
+    }
+}

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AsyncMessageTestCase.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AsyncMessageTestCase.java?rev=686206&r1=686205&r2=686206&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AsyncMessageTestCase.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AsyncMessageTestCase.java Fri Aug 15 05:36:06 2008
@@ -20,16 +20,18 @@
 package org.apache.synapse.transport.testkit.listener;
 
 import org.apache.synapse.transport.testkit.TestEnvironment;
+import org.apache.synapse.transport.testkit.client.AsyncTestClient;
+import org.apache.synapse.transport.testkit.client.ClientOptions;
 import org.apache.synapse.transport.testkit.server.AsyncEndpoint;
 import org.apache.synapse.transport.testkit.server.AsyncEndpointFactory;
 import org.apache.synapse.transport.testkit.tests.TransportTestCase;
 
-public abstract class AsyncMessageTestCase<E extends TestEnvironment,C extends AsyncChannel<? super E>,M,N> extends TransportTestCase<E,C,AsyncMessageSender<? super E,? super C,M>> {
+public abstract class AsyncMessageTestCase<E extends TestEnvironment,C extends AsyncChannel<? super E>,M,N> extends TransportTestCase<E,C,AsyncTestClient<? super E,? super C,M>> {
     private final String charset;
     private final AsyncEndpointFactory<? super E,? super C,N> endpointFactory;
     
-    public AsyncMessageTestCase(E env, C channel, AsyncMessageSender<? super E,? super C,M> sender, AsyncEndpointFactory<? super E,? super C,N> endpointFactory, ContentTypeMode contentTypeMode, String contentType, String charset) {
-        super(env, channel, sender, endpointFactory.getServer(), contentTypeMode, contentType);
+    public AsyncMessageTestCase(E env, C channel, AsyncTestClient<? super E,? super C,M> client, AsyncEndpointFactory<? super E,? super C,N> endpointFactory, ContentTypeMode contentTypeMode, String contentType, String charset) {
+        super(env, channel, client, endpointFactory.getServer(), contentTypeMode, contentType);
         this.endpointFactory = endpointFactory;
         this.charset = charset;
     }
@@ -43,9 +45,9 @@
         // Run the test.
         N messageData;
         try {
-            SenderOptions options = new SenderOptions(endpoint.getEPR(), charset);
+            ClientOptions options = new ClientOptions(endpoint.getEPR(), charset);
 //                    contentTypeMode == ContentTypeMode.TRANSPORT ? contentType : null);
-            sender.sendMessage(channel, options, message);
+            client.sendMessage(channel, options, message);
             messageData = endpoint.waitForMessage(8000);
             if (messageData == null) {
                 fail("Failed to get message");

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/message/MessageConverter.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/message/MessageConverter.java?rev=686206&r1=686205&r2=686206&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/message/MessageConverter.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/message/MessageConverter.java Fri Aug 15 05:36:06 2008
@@ -35,13 +35,13 @@
 import org.apache.axiom.om.OMText;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.synapse.transport.base.BaseConstants;
-import org.apache.synapse.transport.testkit.listener.SenderOptions;
+import org.apache.synapse.transport.testkit.client.ClientOptions;
 
 public interface MessageConverter<T,U> {
     MessageConverter<MessageData,ByteArrayMessage> AXIS_TO_BYTE =
         new MessageConverter<MessageData,ByteArrayMessage>() {
 
-        public ByteArrayMessage convert(SenderOptions options, MessageData message) throws Exception {
+        public ByteArrayMessage convert(ClientOptions options, MessageData message) throws Exception {
             SOAPEnvelope envelope = message.getEnvelope();
             OMElement wrapper = envelope.getBody().getFirstElement();
             Assert.assertEquals(BaseConstants.DEFAULT_BINARY_WRAPPER, wrapper.getQName());
@@ -56,7 +56,7 @@
     MessageConverter<MessageData,StringMessage> AXIS_TO_STRING =
         new MessageConverter<MessageData,StringMessage>() {
 
-        public StringMessage convert(SenderOptions options, MessageData message) throws Exception {
+        public StringMessage convert(ClientOptions options, MessageData message) throws Exception {
             SOAPEnvelope envelope = message.getEnvelope();
             OMElement wrapper = envelope.getBody().getFirstElement();
             Assert.assertEquals(BaseConstants.DEFAULT_TEXT_WRAPPER, wrapper.getQName());
@@ -67,7 +67,7 @@
     MessageConverter<XMLMessage,ByteArrayMessage> XML_TO_BYTE =
         new MessageConverter<XMLMessage,ByteArrayMessage>() {
 
-        public ByteArrayMessage convert(SenderOptions options, XMLMessage message) throws Exception {
+        public ByteArrayMessage convert(ClientOptions options, XMLMessage message) throws Exception {
             ByteArrayOutputStream baos = new ByteArrayOutputStream();
             OMOutputFormat outputFormat = new OMOutputFormat();
             outputFormat.setCharSetEncoding(options.getCharset());
@@ -80,7 +80,7 @@
     MessageConverter<XMLMessage,StringMessage> XML_TO_STRING =
         new MessageConverter<XMLMessage,StringMessage>() {
 
-        public StringMessage convert(SenderOptions options, XMLMessage message) throws Exception {
+        public StringMessage convert(ClientOptions options, XMLMessage message) throws Exception {
             OMOutputFormat format = new OMOutputFormat();
             format.setIgnoreXMLDeclaration(true);
             StringWriter sw = new StringWriter();
@@ -92,7 +92,7 @@
     MessageConverter<ByteArrayMessage,XMLMessage> BINARY_WRAPPER =
         new MessageConverter<ByteArrayMessage,XMLMessage>() {
 
-        public XMLMessage convert(SenderOptions options, ByteArrayMessage message) throws Exception {
+        public XMLMessage convert(ClientOptions options, ByteArrayMessage message) throws Exception {
             OMFactory omFactory = XMLMessageType.SOAP11.getOMFactory();
             OMElement wrapper = omFactory.createOMElement(BaseConstants.DEFAULT_BINARY_WRAPPER);
             DataHandler dataHandler = new DataHandler(new ByteArrayDataSource(message.getContent()));
@@ -104,7 +104,7 @@
     MessageConverter<StringMessage,XMLMessage> TEXT_WRAPPER =
         new MessageConverter<StringMessage,XMLMessage>() {
 
-        public XMLMessage convert(SenderOptions options, StringMessage message) throws Exception {
+        public XMLMessage convert(ClientOptions options, StringMessage message) throws Exception {
             OMFactory omFactory = XMLMessageType.SOAP11.getOMFactory();
             OMElement wrapper = omFactory.createOMElement(BaseConstants.DEFAULT_TEXT_WRAPPER);
             wrapper.addChild(omFactory.createOMText(message.getContent()));
@@ -115,7 +115,7 @@
     MessageConverter<StringMessage,ByteArrayMessage> STRING_TO_BYTE =
         new MessageConverter<StringMessage,ByteArrayMessage>() {
 
-        public ByteArrayMessage convert(SenderOptions options, StringMessage message) throws Exception {
+        public ByteArrayMessage convert(ClientOptions options, StringMessage message) throws Exception {
             return new ByteArrayMessage(message.getContentType(), message.getContent().getBytes(options.getCharset()));
         }
     };
@@ -123,12 +123,12 @@
     MessageConverter<ByteArrayMessage,StringMessage> BYTE_TO_STRING =
         new MessageConverter<ByteArrayMessage,StringMessage>() {
 
-        public StringMessage convert(SenderOptions options, ByteArrayMessage message) throws Exception {
+        public StringMessage convert(ClientOptions options, ByteArrayMessage message) throws Exception {
             ContentType contentType = new ContentType(message.getContentType());
             String charset = contentType.getParameter("charset");
             return new StringMessage(message.getContentType(), new String(message.getContent(), charset));
         }
     };
     
-    U convert(SenderOptions options, T message) throws Exception;
+    U convert(ClientOptions options, T message) throws Exception;
 }