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/06 01:41:15 UTC
svn commit: r683039 - in
/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport:
jms/ mail/ nhttp/ testkit/listener/ vfs/
Author: veithen
Date: Tue Aug 5 16:41:14 2008
New Revision: 683039
URL: http://svn.apache.org/viewvc?rev=683039&view=rev
Log:
Refactored the transport testkit to improve its design.
Added:
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/listener/Adapter.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/ByteArrayMessage.java
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/RESTMessage.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/StringMessage.java
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/XMLMessage.java
Removed:
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/BinaryPayloadSender.java
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/RESTSender.java
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/XMLAsyncMessageSender.java
Modified:
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/JMSListenerTest.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/MailTransportListenerTest.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/HttpCoreNIOListenerTest.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/AsyncMessageTestCase.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/ListenerTestSuite.java
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/XMLAsyncMessageTestCase.java
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTransportListenerTest.java
Modified: 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/JMSBytesMessageSender.java?rev=683039&r1=683038&r2=683039&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/JMSBytesMessageSender.java Tue Aug 5 16:41:14 2008
@@ -23,24 +23,25 @@
import javax.jms.Session;
import org.apache.synapse.transport.base.BaseConstants;
-import org.apache.synapse.transport.testkit.listener.BinaryPayloadSender;
+import org.apache.synapse.transport.testkit.listener.AbstractMessageSender;
+import org.apache.synapse.transport.testkit.listener.AsyncMessageSender;
+import org.apache.synapse.transport.testkit.listener.ByteArrayMessage;
+import org.apache.synapse.transport.testkit.listener.SenderOptions;
-public class JMSBytesMessageSender extends BinaryPayloadSender<JMSAsyncChannel> {
+public class JMSBytesMessageSender extends AbstractMessageSender<JMSAsyncChannel> implements AsyncMessageSender<JMSAsyncChannel,ByteArrayMessage> {
public JMSBytesMessageSender() {
super("ByteMessage");
}
- @Override
public void sendMessage(JMSAsyncChannel channel,
- String endpointReference,
- String contentType,
- byte[] content) throws Exception {
+ SenderOptions options,
+ ByteArrayMessage message) throws Exception {
Session session = channel.createSession();
- BytesMessage message = session.createBytesMessage();
- if (contentType != null) {
- message.setStringProperty(BaseConstants.CONTENT_TYPE, contentType);
+ BytesMessage jmsMessage = session.createBytesMessage();
+ if (message.getContentType() != null) {
+ jmsMessage.setStringProperty(BaseConstants.CONTENT_TYPE, message.getContentType());
}
- message.writeBytes(content);
- channel.send(session, message);
+ jmsMessage.writeBytes(message.getContent());
+ channel.send(session, jmsMessage);
}
}
\ No newline at end of file
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=683039&r1=683038&r2=683039&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 Tue Aug 5 16:41:14 2008
@@ -26,12 +26,14 @@
import junit.framework.TestSuite;
import org.apache.axis2.context.MessageContext;
+import org.apache.synapse.transport.testkit.listener.Adapter;
+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.listener.ContentTypeMode;
import org.apache.synapse.transport.testkit.listener.ListenerTestSuite;
import org.apache.synapse.transport.testkit.listener.MessageTestData;
-import org.apache.synapse.transport.testkit.listener.XMLAsyncMessageSender;
+import org.apache.synapse.transport.testkit.listener.XMLMessage;
public class JMSListenerTest extends TestCase {
public static TestSuite suite() {
@@ -39,15 +41,15 @@
JMSListenerSetup setup = new QpidTestSetup();
JMSBytesMessageSender bytesMessageSender = new JMSBytesMessageSender();
JMSTextMessageSender textMessageSender = new JMSTextMessageSender();
- List<XMLAsyncMessageSender<? super JMSAsyncChannel>> senders = new LinkedList<XMLAsyncMessageSender<? super JMSAsyncChannel>>();
- senders.add(bytesMessageSender);
+ List<AsyncMessageSender<? super JMSAsyncChannel,XMLMessage>> senders = new LinkedList<AsyncMessageSender<? super JMSAsyncChannel,XMLMessage>>();
+ senders.add(new Adapter<JMSAsyncChannel>(bytesMessageSender));
senders.add(textMessageSender);
senders.add(new AxisAsyncMessageSender());
suite.addPOXTests(new JMSRequestResponseChannel(setup, JMSConstants.DESTINATION_TYPE_QUEUE, JMSConstants.DESTINATION_TYPE_QUEUE), new AxisRequestResponseMessageSender(), ContentTypeMode.TRANSPORT);
for (String destinationType : new String[] { JMSConstants.DESTINATION_TYPE_QUEUE, JMSConstants.DESTINATION_TYPE_TOPIC }) {
JMSAsyncChannel channel = new JMSAsyncChannel(setup, destinationType);
for (ContentTypeMode contentTypeMode : ContentTypeMode.values()) {
- for (XMLAsyncMessageSender<? super JMSAsyncChannel> sender : senders) {
+ for (AsyncMessageSender<? super JMSAsyncChannel,XMLMessage> sender : senders) {
if (contentTypeMode == ContentTypeMode.TRANSPORT) {
suite.addSOAPTests(channel, sender, contentTypeMode);
suite.addPOXTests(channel, sender, contentTypeMode);
Modified: 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/JMSTextMessageSender.java?rev=683039&r1=683038&r2=683039&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/JMSTextMessageSender.java Tue Aug 5 16:41:14 2008
@@ -24,31 +24,29 @@
import javax.jms.Session;
import javax.jms.TextMessage;
-import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMOutputFormat;
import org.apache.synapse.transport.base.BaseConstants;
import org.apache.synapse.transport.testkit.listener.AbstractMessageSender;
-import org.apache.synapse.transport.testkit.listener.XMLAsyncMessageSender;
-import org.apache.synapse.transport.testkit.listener.XMLMessageType;
+import org.apache.synapse.transport.testkit.listener.AsyncMessageSender;
+import org.apache.synapse.transport.testkit.listener.SenderOptions;
+import org.apache.synapse.transport.testkit.listener.XMLMessage;
-public class JMSTextMessageSender extends AbstractMessageSender<JMSAsyncChannel> implements XMLAsyncMessageSender<JMSAsyncChannel> {
+public class JMSTextMessageSender extends AbstractMessageSender<JMSAsyncChannel> implements AsyncMessageSender<JMSAsyncChannel,XMLMessage> {
public JMSTextMessageSender() {
super("TextMessage");
}
- public void sendMessage(JMSAsyncChannel channel,
- String endpointReference, String contentType, String charset,
- XMLMessageType xmlMessageType, OMElement payload) throws Exception {
+ public void sendMessage(JMSAsyncChannel channel, SenderOptions options, XMLMessage message) throws Exception {
Session session = channel.createSession();
- TextMessage message = session.createTextMessage();
- if (contentType != null) {
- message.setStringProperty(BaseConstants.CONTENT_TYPE, contentType);
+ TextMessage jmsMessage = session.createTextMessage();
+ if (message.getContentType() != null) {
+ jmsMessage.setStringProperty(BaseConstants.CONTENT_TYPE, message.getContentType());
}
OMOutputFormat format = new OMOutputFormat();
format.setIgnoreXMLDeclaration(true);
StringWriter sw = new StringWriter();
- xmlMessageType.getMessage(payload).serializeAndConsume(sw, format);
- message.setText(sw.toString());
- channel.send(session, message);
+ message.getXmlMessageType().getMessage(message.getPayload()).serializeAndConsume(sw, format);
+ jmsMessage.setText(sw.toString());
+ channel.send(session, jmsMessage);
}
}
\ No newline at end of file
Modified: 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/MailSender.java?rev=683039&r1=683038&r2=683039&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/MailSender.java Tue Aug 5 16:41:14 2008
@@ -30,11 +30,13 @@
import javax.mail.internet.MimeMessage;
import javax.mail.util.ByteArrayDataSource;
-import org.apache.synapse.transport.testkit.listener.BinaryPayloadSender;
+import org.apache.synapse.transport.testkit.listener.AbstractMessageSender;
+import org.apache.synapse.transport.testkit.listener.AsyncMessageSender;
+import org.apache.synapse.transport.testkit.listener.ByteArrayMessage;
+import org.apache.synapse.transport.testkit.listener.SenderOptions;
-public abstract class MailSender extends BinaryPayloadSender<MailChannel> {
- @Override
- public void sendMessage(MailChannel channel, String endpointReference, String contentType, byte[] content) throws Exception {
+public abstract class MailSender extends AbstractMessageSender<MailChannel> implements AsyncMessageSender<MailChannel,ByteArrayMessage> {
+ public void sendMessage(MailChannel channel, SenderOptions options, ByteArrayMessage message) throws Exception {
Properties props = new Properties();
props.put("mail.smtp.class", TestTransport.class.getName());
Session session = Session.getInstance(props);
@@ -42,7 +44,7 @@
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(channel.getAddress()));
msg.setFrom(new InternetAddress("test-sender@localhost"));
msg.setSentDate(new Date());
- DataHandler dh = new DataHandler(new ByteArrayDataSource(content, contentType));
+ DataHandler dh = new DataHandler(new ByteArrayDataSource(message.getContent(), message.getContentType()));
setupMessage(msg, dh);
Transport.send(msg);
}
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=683039&r1=683038&r2=683039&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 Tue Aug 5 16:41:14 2008
@@ -25,24 +25,27 @@
import junit.framework.TestCase;
import junit.framework.TestSuite;
-import org.apache.synapse.transport.testkit.listener.BinaryPayloadSender;
+import org.apache.synapse.transport.testkit.listener.Adapter;
+import org.apache.synapse.transport.testkit.listener.AsyncMessageSender;
import org.apache.synapse.transport.testkit.listener.ContentTypeMode;
import org.apache.synapse.transport.testkit.listener.ListenerTestSuite;
+import org.apache.synapse.transport.testkit.listener.XMLMessage;
public class MailTransportListenerTest extends TestCase {
public static TestSuite suite() {
ListenerTestSuite suite = new ListenerTestSuite();
MailChannel channel = new MailChannel("test-account@localhost");
- List<BinaryPayloadSender<? super MailChannel>> senders = new LinkedList<BinaryPayloadSender<? super MailChannel>>();
+ List<MailSender> senders = new LinkedList<MailSender>();
senders.add(new MimeSender());
senders.add(new MultipartSender());
- for (BinaryPayloadSender<? super MailChannel> sender : senders) {
+ for (MailSender sender : senders) {
+ AsyncMessageSender<MailChannel,XMLMessage> xmlSender = new Adapter<MailChannel>(sender);
// TODO: SOAP 1.2 tests don't work yet for mail transport
- suite.addSOAP11Test(channel, sender, ContentTypeMode.TRANSPORT, ListenerTestSuite.ASCII_TEST_DATA);
- suite.addSOAP11Test(channel, sender, ContentTypeMode.TRANSPORT, ListenerTestSuite.UTF8_TEST_DATA);
+ suite.addSOAP11Test(channel, xmlSender, ContentTypeMode.TRANSPORT, ListenerTestSuite.ASCII_TEST_DATA);
+ suite.addSOAP11Test(channel, xmlSender, ContentTypeMode.TRANSPORT, ListenerTestSuite.UTF8_TEST_DATA);
// TODO: this test fails when using multipart
if (sender instanceof MimeSender) {
- suite.addSOAP11Test(channel, sender, ContentTypeMode.TRANSPORT, ListenerTestSuite.LATIN1_TEST_DATA);
+ suite.addSOAP11Test(channel, xmlSender, ContentTypeMode.TRANSPORT, ListenerTestSuite.LATIN1_TEST_DATA);
}
// addSOAPTests(strategy, suite);
// TODO: POX tests don't work yet for mail transport
Modified: 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/MimeSender.java?rev=683039&r1=683038&r2=683039&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/MimeSender.java Tue Aug 5 16:41:14 2008
@@ -22,7 +22,7 @@
import javax.activation.DataHandler;
import javax.mail.internet.MimeMessage;
-class MimeSender extends MailSender {
+public class MimeSender extends MailSender {
@Override
protected void setupMessage(MimeMessage msg, DataHandler dh) throws Exception {
msg.setDataHandler(dh);
Modified: 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/MultipartSender.java?rev=683039&r1=683038&r2=683039&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/MultipartSender.java Tue Aug 5 16:41:14 2008
@@ -24,7 +24,7 @@
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
-class MultipartSender extends MailSender {
+public class MultipartSender extends MailSender {
@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=683039&r1=683038&r2=683039&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 Tue Aug 5 16:41:14 2008
@@ -25,21 +25,23 @@
import junit.framework.TestCase;
import junit.framework.TestSuite;
+import org.apache.synapse.transport.testkit.listener.Adapter;
+import org.apache.synapse.transport.testkit.listener.AsyncChannel;
+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.listener.ContentTypeMode;
import org.apache.synapse.transport.testkit.listener.ListenerTestSuite;
-import org.apache.synapse.transport.testkit.listener.XMLAsyncMessageSender;
+import org.apache.synapse.transport.testkit.listener.XMLMessage;
public class HttpCoreNIOListenerTest extends TestCase {
public static TestSuite suite() {
ListenerTestSuite suite = new ListenerTestSuite();
HttpChannel channel = new HttpChannel();
JavaNetSender javaNetSender = new JavaNetSender();
- List<XMLAsyncMessageSender<? super HttpChannel>> senders = new LinkedList<XMLAsyncMessageSender<? super HttpChannel>>();
- senders.add(javaNetSender);
+ List<AsyncMessageSender<? super HttpChannel,XMLMessage>> senders = new LinkedList<AsyncMessageSender<? super HttpChannel,XMLMessage>>();
+ senders.add(new Adapter<AsyncChannel<?>>(javaNetSender));
senders.add(new AxisAsyncMessageSender());
- for (XMLAsyncMessageSender<? super HttpChannel> sender : senders) {
+ for (AsyncMessageSender<? super HttpChannel,XMLMessage> sender : senders) {
suite.addSOAPTests(channel, sender, ContentTypeMode.TRANSPORT);
suite.addPOXTests(channel, sender, ContentTypeMode.TRANSPORT);
}
@@ -47,7 +49,7 @@
suite.addSwATests(channel, javaNetSender);
suite.addTextPlainTests(channel, javaNetSender, ContentTypeMode.TRANSPORT);
suite.addBinaryTest(channel, javaNetSender, ContentTypeMode.TRANSPORT);
- suite.addRESTTests(channel, javaNetSender);
+ suite.addRESTTests(channel, new JavaNetRESTSender());
return suite;
}
}
Added: 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/JavaNetRESTSender.java?rev=683039&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetRESTSender.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/nhttp/JavaNetRESTSender.java Tue Aug 5 16:41:14 2008
@@ -0,0 +1,46 @@
+/*
+ * 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.nhttp;
+
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLConnection;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.synapse.transport.testkit.listener.AbstractMessageSender;
+import org.apache.synapse.transport.testkit.listener.AsyncChannel;
+import org.apache.synapse.transport.testkit.listener.AsyncMessageSender;
+import org.apache.synapse.transport.testkit.listener.DefaultOperationDispatcher;
+import org.apache.synapse.transport.testkit.listener.RESTMessage;
+import org.apache.synapse.transport.testkit.listener.SenderOptions;
+
+public class JavaNetRESTSender extends AbstractMessageSender<AsyncChannel<?>> implements AsyncMessageSender<AsyncChannel<?>,RESTMessage> {
+ public JavaNetRESTSender() {
+ super("java.net");
+ }
+
+ public void sendMessage(AsyncChannel<?> channel, SenderOptions options, RESTMessage message) throws Exception {
+ URLConnection connection = new URL(options.getEndpointReference() + "/" + DefaultOperationDispatcher.DEFAULT_OPERATION_NAME).openConnection();
+ connection.setDoInput(true);
+ InputStream in = connection.getInputStream();
+ IOUtils.copy(in, System.out);
+ in.close();
+ }
+}
Modified: 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/JavaNetSender.java?rev=683039&r1=683038&r2=683039&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/JavaNetSender.java Tue Aug 5 16:41:14 2008
@@ -25,35 +25,27 @@
import java.net.URLConnection;
import org.apache.commons.io.IOUtils;
+import org.apache.synapse.transport.testkit.listener.AbstractMessageSender;
import org.apache.synapse.transport.testkit.listener.AsyncChannel;
-import org.apache.synapse.transport.testkit.listener.BinaryPayloadSender;
-import org.apache.synapse.transport.testkit.listener.DefaultOperationDispatcher;
-import org.apache.synapse.transport.testkit.listener.RESTSender;
+import org.apache.synapse.transport.testkit.listener.AsyncMessageSender;
+import org.apache.synapse.transport.testkit.listener.ByteArrayMessage;
+import org.apache.synapse.transport.testkit.listener.SenderOptions;
-public class JavaNetSender extends BinaryPayloadSender<AsyncChannel<?>> implements RESTSender<AsyncChannel<?>> {
+public class JavaNetSender extends AbstractMessageSender<AsyncChannel<?>> implements AsyncMessageSender<AsyncChannel<?>,ByteArrayMessage> {
public JavaNetSender() {
super("java.net");
}
- @Override
- public void sendMessage(AsyncChannel<?> channel, String endpointReference, String contentType, byte[] content) throws Exception {
- URLConnection connection = new URL(endpointReference).openConnection();
+ public void sendMessage(AsyncChannel<?> channel, SenderOptions options, ByteArrayMessage message) throws Exception {
+ URLConnection connection = new URL(options.getEndpointReference()).openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
- connection.setRequestProperty("Content-Type", contentType);
+ connection.setRequestProperty("Content-Type", message.getContentType());
OutputStream out = connection.getOutputStream();
- out.write(content);
+ out.write(message.getContent());
out.close();
InputStream in = connection.getInputStream();
IOUtils.copy(in, System.out);
in.close();
}
-
- public void sendMessage(String endpointReference) throws Exception {
- URLConnection connection = new URL(endpointReference + "/" + DefaultOperationDispatcher.DEFAULT_OPERATION_NAME).openConnection();
- connection.setDoInput(true);
- InputStream in = connection.getInputStream();
- IOUtils.copy(in, System.out);
- in.close();
- }
}
\ No newline at end of file
Added: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/Adapter.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/Adapter.java?rev=683039&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/Adapter.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/Adapter.java Tue Aug 5 16:41:14 2008
@@ -0,0 +1,53 @@
+/*
+ * 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.listener;
+
+import java.io.ByteArrayOutputStream;
+
+import org.apache.axiom.om.OMOutputFormat;
+
+public class Adapter<C extends AsyncChannel<?>> implements AsyncMessageSender<C,XMLMessage> {
+ private final AsyncMessageSender<C,ByteArrayMessage> parent;
+
+ public Adapter(AsyncMessageSender<C, ByteArrayMessage> parent) {
+ this.parent = parent;
+ }
+
+ public void sendMessage(C channel, SenderOptions options, XMLMessage message) throws Exception {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ OMOutputFormat outputFormat = new OMOutputFormat();
+ outputFormat.setCharSetEncoding(options.getCharset());
+ outputFormat.setIgnoreXMLDeclaration(true);
+ message.getXmlMessageType().getMessage(message.getPayload()).serializeAndConsume(baos, outputFormat);
+ parent.sendMessage(channel, options, new ByteArrayMessage(message.getContentType(), baos.toByteArray()));
+ }
+
+ public void buildName(NameBuilder nameBuilder) {
+ parent.buildName(nameBuilder);
+ }
+
+ public void setUp(C channel) throws Exception {
+ parent.setUp(channel);
+ }
+
+ public void tearDown() throws Exception {
+ parent.tearDown();
+ }
+}
Added: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AsyncMessageSender.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AsyncMessageSender.java?rev=683039&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AsyncMessageSender.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AsyncMessageSender.java Tue Aug 5 16:41:14 2008
@@ -0,0 +1,24 @@
+/*
+ * 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.listener;
+
+public interface AsyncMessageSender<C extends AsyncChannel<?>,M> extends MessageSender<C> {
+ void sendMessage(C channel, SenderOptions options, M message) throws Exception;
+}
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=683039&r1=683038&r2=683039&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 Tue Aug 5 16:41:14 2008
@@ -26,9 +26,12 @@
import org.apache.axis2.description.InOnlyAxisOperation;
import org.apache.axis2.engine.AxisConfiguration;
-public abstract class AsyncMessageTestCase<C extends AsyncChannel<?>,S extends MessageSender<? super C>> extends ListenerTestCase<C,S> {
- public AsyncMessageTestCase(C channel, S sender, String name, ContentTypeMode contentTypeMode, String contentType) {
+public abstract class AsyncMessageTestCase<C extends AsyncChannel<?>,M> extends ListenerTestCase<C,AsyncMessageSender<? super C,M>> {
+ private final String charset;
+
+ public AsyncMessageTestCase(C channel, AsyncMessageSender<? super C,M> sender, String name, ContentTypeMode contentTypeMode, String contentType, String charset) {
super(channel, sender, name, contentTypeMode, contentType);
+ this.charset = charset;
}
@Override
@@ -46,14 +49,17 @@
channel.getSetup().setupContentType(service, contentType);
}
+ M message = prepareMessage();
+
// Run the test.
MessageData messageData;
AxisConfiguration axisConfiguration = server.getAxisConfiguration();
axisConfiguration.addService(service);
// server.addErrorListener(messageReceiver);
try {
- sendMessage(sender, server.getEPR(service),
- contentTypeMode == ContentTypeMode.TRANSPORT ? contentType : null);
+ SenderOptions options = new SenderOptions(server.getEPR(service), charset);
+// contentTypeMode == ContentTypeMode.TRANSPORT ? contentType : null);
+ sender.sendMessage(channel, options, message);
messageData = messageReceiver.waitForMessage(8, TimeUnit.SECONDS);
if (messageData == null) {
fail("Failed to get message");
@@ -64,9 +70,9 @@
axisConfiguration.removeService(service.getName());
}
- checkMessageData(messageData);
+ checkMessageData(message, messageData);
}
- protected abstract void sendMessage(S sender, String endpointReference, String contentType) throws Exception;
- protected abstract void checkMessageData(MessageData messageData) throws Exception;
+ protected abstract M prepareMessage() throws Exception;
+ protected abstract void checkMessageData(M message, MessageData messageData) throws Exception;
}
\ No newline at end of file
Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AxisAsyncMessageSender.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AxisAsyncMessageSender.java?rev=683039&r1=683038&r2=683039&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AxisAsyncMessageSender.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/AxisAsyncMessageSender.java Tue Aug 5 16:41:14 2008
@@ -19,18 +19,14 @@
package org.apache.synapse.transport.testkit.listener;
-import org.apache.axiom.om.OMElement;
import org.apache.axis2.client.ServiceClient;
-public class AxisAsyncMessageSender extends AxisMessageSender<AsyncChannel<?>> implements XMLAsyncMessageSender<AsyncChannel<?>> {
+public class AxisAsyncMessageSender extends AxisMessageSender<AsyncChannel<?>> implements AsyncMessageSender<AsyncChannel<?>,XMLMessage> {
public AxisAsyncMessageSender() {
super("axis");
}
- public void sendMessage(AsyncChannel<?> channel,
- String endpointReference, String contentType, String charset,
- XMLMessageType xmlMessageType, OMElement payload) throws Exception {
-
- createClient(endpointReference, ServiceClient.ANON_OUT_ONLY_OP, xmlMessageType, payload, charset).execute(false);
+ public void sendMessage(AsyncChannel<?> channel, SenderOptions 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/listener/ByteArrayMessage.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/ByteArrayMessage.java?rev=683039&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/ByteArrayMessage.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/ByteArrayMessage.java Tue Aug 5 16:41:14 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.listener;
+
+public class ByteArrayMessage {
+ private final String contentType;
+ private final byte[] content;
+
+ public ByteArrayMessage(String contentType, byte[] content) {
+ this.contentType = contentType;
+ this.content = content;
+ }
+
+ public String getContentType() {
+ return contentType;
+ }
+
+ public byte[] getContent() {
+ return content;
+ }
+}
Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/ListenerTestSuite.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/ListenerTestSuite.java?rev=683039&r1=683038&r2=683039&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/ListenerTestSuite.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/ListenerTestSuite.java Tue Aug 5 16:41:14 2008
@@ -75,26 +75,26 @@
this(true);
}
- public <C extends AsyncChannel<?>> void addSOAP11Test(C channel, XMLAsyncMessageSender<? super C> sender, ContentTypeMode contentTypeMode, MessageTestData data) {
+ public <C extends AsyncChannel<?>> void addSOAP11Test(C channel, AsyncMessageSender<? super C,XMLMessage> sender, ContentTypeMode contentTypeMode, MessageTestData data) {
addTest(new XMLAsyncMessageTestCase<C>(channel, sender, XMLMessageType.SOAP11, "SOAP11", contentTypeMode, SOAP11Constants.SOAP_11_CONTENT_TYPE, data));
}
- public <C extends AsyncChannel<?>> void addSOAP12Test(C channel, XMLAsyncMessageSender<? super C> sender, ContentTypeMode contentTypeMode, MessageTestData data) {
+ public <C extends AsyncChannel<?>> void addSOAP12Test(C channel, AsyncMessageSender<? super C,XMLMessage> sender, ContentTypeMode contentTypeMode, MessageTestData data) {
addTest(new XMLAsyncMessageTestCase<C>(channel, sender, XMLMessageType.SOAP12, "SOAP12", contentTypeMode, SOAP12Constants.SOAP_12_CONTENT_TYPE, data));
}
- public <C extends AsyncChannel<?>> void addSOAPTests(C channel, XMLAsyncMessageSender<? super C> sender, ContentTypeMode contentTypeMode) {
+ public <C extends AsyncChannel<?>> void addSOAPTests(C channel, AsyncMessageSender<? super C,XMLMessage> sender, ContentTypeMode contentTypeMode) {
for (MessageTestData data : messageTestData) {
addSOAP11Test(channel, sender, contentTypeMode, data);
addSOAP12Test(channel, sender, contentTypeMode, data);
}
}
- public <C extends AsyncChannel<?>> void addPOXTest(C channel, XMLAsyncMessageSender<? super C> sender, ContentTypeMode contentTypeMode, MessageTestData data) {
+ public <C extends AsyncChannel<?>> void addPOXTest(C channel, AsyncMessageSender<? super C,XMLMessage> sender, ContentTypeMode contentTypeMode, MessageTestData data) {
addTest(new XMLAsyncMessageTestCase<C>(channel, sender, XMLMessageType.POX, "POX", contentTypeMode, "application/xml", data));
}
- public <C extends AsyncChannel<?>> void addPOXTests(C channel, XMLAsyncMessageSender<? super C> sender, ContentTypeMode contentTypeMode) {
+ public <C extends AsyncChannel<?>> void addPOXTests(C channel, AsyncMessageSender<? super C,XMLMessage> sender, ContentTypeMode contentTypeMode) {
for (MessageTestData data : messageTestData) {
addPOXTest(channel, sender, contentTypeMode, data);
}
@@ -111,8 +111,8 @@
}
// TODO: this test actually only makes sense if the transport supports a Content-Type header
- public <C extends AsyncChannel<?>> void addSwATests(C channel, BinaryPayloadSender<? super C> sender) {
- addTest(new AsyncMessageTestCase<C,BinaryPayloadSender<? super C>>(channel, sender, "SOAPWithAttachments", ContentTypeMode.TRANSPORT, null) {
+ public <C extends AsyncChannel<?>> void addSwATests(C channel, AsyncMessageSender<? super C,ByteArrayMessage> sender) {
+ addTest(new AsyncMessageTestCase<C,ByteArrayMessage>(channel, sender, "SOAPWithAttachments", ContentTypeMode.TRANSPORT, null, null) {
private byte[] attachmentContent;
private String contentID;
@@ -125,7 +125,7 @@
}
@Override
- protected void sendMessage(BinaryPayloadSender<? super C> sender, String endpointReference, String contentType) throws Exception {
+ protected ByteArrayMessage prepareMessage() throws Exception {
SOAPFactory factory = OMAbstractFactory.getSOAP12Factory();
SOAPEnvelope orgEnvelope = factory.createSOAPEnvelope();
SOAPBody orgBody = factory.createSOAPBody();
@@ -141,11 +141,11 @@
orgAttachments.addDataHandler(contentID, new DataHandler(new ByteArrayDataSource(attachmentContent, "application/octet-stream")));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
MIMEOutputUtils.writeSOAPWithAttachmentsMessage(writer, baos, orgAttachments, outputFormat);
- sender.sendMessage(getChannel(), endpointReference, outputFormat.getContentTypeForSwA(SOAP12Constants.SOAP_12_CONTENT_TYPE), baos.toByteArray());
+ return new ByteArrayMessage(outputFormat.getContentTypeForSwA(SOAP12Constants.SOAP_12_CONTENT_TYPE), baos.toByteArray());
}
@Override
- protected void checkMessageData(MessageData messageData) throws Exception {
+ protected void checkMessageData(ByteArrayMessage message, MessageData messageData) throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Attachments attachments = messageData.getAttachments();
DataHandler dataHandler = attachments.getDataHandler(contentID);
@@ -156,8 +156,8 @@
});
}
- public <C extends AsyncChannel<?>> void addTextPlainTest(C channel, BinaryPayloadSender<? super C> sender, ContentTypeMode contentTypeMode, final MessageTestData data) {
- addTest(new AsyncMessageTestCase<C,BinaryPayloadSender<? super C>>(channel, sender, "TextPlain", contentTypeMode, "text/plain; charset=\"" + data.getCharset() + "\"") {
+ public <C extends AsyncChannel<?>> void addTextPlainTest(C channel, AsyncMessageSender<? super C,ByteArrayMessage> sender, ContentTypeMode contentTypeMode, final MessageTestData data) {
+ addTest(new AsyncMessageTestCase<C,ByteArrayMessage>(channel, sender, "TextPlain", contentTypeMode, "text/plain; charset=\"" + data.getCharset() + "\"", data.getCharset()) {
@Override
protected void buildName(NameBuilder name) {
super.buildName(name);
@@ -165,12 +165,12 @@
}
@Override
- protected void sendMessage(BinaryPayloadSender<? super C> sender, String endpointReference, String contentType) throws Exception {
- sender.sendMessage(getChannel(), endpointReference, contentType, data.getText().getBytes(data.getCharset()));
+ protected ByteArrayMessage prepareMessage() throws Exception {
+ return new ByteArrayMessage(contentType, data.getText().getBytes(data.getCharset()));
}
-
+
@Override
- protected void checkMessageData(MessageData messageData) throws Exception {
+ protected void checkMessageData(ByteArrayMessage message, MessageData messageData) throws Exception {
SOAPEnvelope envelope = messageData.getEnvelope();
OMElement wrapper = envelope.getBody().getFirstElement();
assertEquals(BaseConstants.DEFAULT_TEXT_WRAPPER, wrapper.getQName());
@@ -179,30 +179,23 @@
});
}
- public <C extends AsyncChannel<?>> void addTextPlainTests(C channel, BinaryPayloadSender<? super C> sender, ContentTypeMode contentTypeMode) {
+ public <C extends AsyncChannel<?>> void addTextPlainTests(C channel, AsyncMessageSender<? super C,ByteArrayMessage> sender, ContentTypeMode contentTypeMode) {
for (MessageTestData data : messageTestData) {
addTextPlainTest(channel, sender, contentTypeMode, data);
}
}
- public <C extends AsyncChannel<?>> void addBinaryTest(C channel, BinaryPayloadSender<? super C> sender, ContentTypeMode contentTypeMode) {
- addTest(new AsyncMessageTestCase<C, BinaryPayloadSender<? super C>>(channel, sender, "Binary", contentTypeMode, "application/octet-stream") {
- private byte[] content;
-
+ public <C extends AsyncChannel<?>> void addBinaryTest(C channel, AsyncMessageSender<? super C,ByteArrayMessage> sender, ContentTypeMode contentTypeMode) {
+ addTest(new AsyncMessageTestCase<C,ByteArrayMessage>(channel, sender, "Binary", contentTypeMode, "application/octet-stream", null) {
@Override
- protected void setUp() throws Exception {
- super.setUp();
- content = new byte[8192];
+ protected ByteArrayMessage prepareMessage() throws Exception {
+ byte[] content = new byte[8192];
random.nextBytes(content);
+ return new ByteArrayMessage("application/octet-stream", content);
}
@Override
- protected void sendMessage(BinaryPayloadSender<? super C> sender, String endpointReference, String contentType) throws Exception {
- sender.sendMessage(getChannel(), endpointReference, contentType, content);
- }
-
- @Override
- protected void checkMessageData(MessageData messageData) throws Exception {
+ protected void checkMessageData(ByteArrayMessage message, MessageData messageData) throws Exception {
SOAPEnvelope envelope = messageData.getEnvelope();
OMElement wrapper = envelope.getBody().getFirstElement();
assertEquals(BaseConstants.DEFAULT_BINARY_WRAPPER, wrapper.getQName());
@@ -210,20 +203,20 @@
assertTrue(child instanceof OMText);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
((DataHandler)((OMText)child).getDataHandler()).writeTo(baos);
- assertTrue(Arrays.equals(content, baos.toByteArray()));
+ assertTrue(Arrays.equals(message.getContent(), baos.toByteArray()));
}
});
}
- public <C extends AsyncChannel<?>> void addRESTTests(C channel, RESTSender<? super C> sender) {
- addTest(new AsyncMessageTestCase<C,RESTSender<? super C>>(channel, sender, "REST", ContentTypeMode.TRANSPORT, null) {
+ public <C extends AsyncChannel<?>> void addRESTTests(C channel, AsyncMessageSender<? super C,RESTMessage> sender) {
+ addTest(new AsyncMessageTestCase<C,RESTMessage>(channel, sender, "REST", ContentTypeMode.TRANSPORT, null, null) {
@Override
- protected void sendMessage(RESTSender<? super C> sender, String endpointReference, String contentType) throws Exception {
- sender.sendMessage(endpointReference);
+ protected RESTMessage prepareMessage() throws Exception {
+ return new RESTMessage();
}
-
+
@Override
- protected void checkMessageData(MessageData messageData) throws Exception {
+ protected void checkMessageData(RESTMessage message, MessageData messageData) throws Exception {
// TODO
}
});
Added: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/RESTMessage.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/RESTMessage.java?rev=683039&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/RESTMessage.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/RESTMessage.java Tue Aug 5 16:41:14 2008
@@ -0,0 +1,24 @@
+/*
+ * 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.listener;
+
+public class RESTMessage {
+ // TODO
+}
Added: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/SenderOptions.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/SenderOptions.java?rev=683039&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/SenderOptions.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/SenderOptions.java Tue Aug 5 16:41:14 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.listener;
+
+public class SenderOptions {
+ private final String endpointReference;
+ private final String charset;
+
+ public SenderOptions(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/listener/StringMessage.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/StringMessage.java?rev=683039&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/StringMessage.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/StringMessage.java Tue Aug 5 16:41:14 2008
@@ -0,0 +1,32 @@
+/*
+ * 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.listener;
+
+public class StringMessage {
+ private final String content;
+
+ public StringMessage(String content) {
+ this.content = content;
+ }
+
+ public String getContent() {
+ return content;
+ }
+}
Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/XMLAsyncMessageTestCase.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/XMLAsyncMessageTestCase.java?rev=683039&r1=683038&r2=683039&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/XMLAsyncMessageTestCase.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/XMLAsyncMessageTestCase.java Tue Aug 5 16:41:14 2008
@@ -25,13 +25,12 @@
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.soap.SOAPEnvelope;
-public class XMLAsyncMessageTestCase<C extends AsyncChannel<?>> extends AsyncMessageTestCase<C,XMLAsyncMessageSender<? super C>> {
+public class XMLAsyncMessageTestCase<C extends AsyncChannel<?>> extends AsyncMessageTestCase<C,XMLMessage> {
private final XMLMessageType xmlMessageType;
private final MessageTestData data;
- private OMElement orgElement;
- public XMLAsyncMessageTestCase(C channel, XMLAsyncMessageSender<? super C> sender, XMLMessageType xmlMessageType, String baseName, ContentTypeMode contentTypeMode, String baseContentType, MessageTestData data) {
- super(channel, sender, baseName, contentTypeMode, baseContentType + "; charset=\"" + data.getCharset() + "\"");
+ public XMLAsyncMessageTestCase(C channel, AsyncMessageSender<? super C,XMLMessage> sender, XMLMessageType xmlMessageType, String baseName, ContentTypeMode contentTypeMode, String baseContentType, MessageTestData data) {
+ super(channel, sender, baseName, contentTypeMode, baseContentType + "; charset=\"" + data.getCharset() + "\"", data.getCharset());
this.xmlMessageType = xmlMessageType;
this.data = data;
}
@@ -43,23 +42,19 @@
}
@Override
- protected void setUp() throws Exception {
- super.setUp();
+ protected XMLMessage prepareMessage() throws Exception {
OMFactory factory = xmlMessageType.getOMFactory();
- orgElement = factory.createOMElement(new QName("root"));
+ OMElement orgElement = factory.createOMElement(new QName("root"));
orgElement.setText(data.getText());
+ return new XMLMessage(contentType, orgElement, xmlMessageType);
}
-
+
@Override
- protected void checkMessageData(MessageData messageData) throws Exception {
+ protected void checkMessageData(XMLMessage message, MessageData messageData) throws Exception {
SOAPEnvelope envelope = messageData.getEnvelope();
OMElement element = envelope.getBody().getFirstElement();
+ OMElement orgElement = message.getPayload();
assertEquals(orgElement.getQName(), element.getQName());
assertEquals(data.getText(), element.getText());
}
-
- @Override
- protected void sendMessage(XMLAsyncMessageSender<? super C> sender, String endpointReference, String contentType) throws Exception {
- sender.sendMessage(getChannel(), endpointReference, contentType, data.getCharset(), xmlMessageType, orgElement);
- }
}
\ No newline at end of file
Added: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/XMLMessage.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/XMLMessage.java?rev=683039&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/XMLMessage.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/listener/XMLMessage.java Tue Aug 5 16:41:14 2008
@@ -0,0 +1,47 @@
+/*
+ * 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.listener;
+
+import org.apache.axiom.om.OMElement;
+
+public class XMLMessage {
+ private final String contentType;
+ private final XMLMessageType xmlMessageType;
+ private final OMElement payload;
+
+ public XMLMessage(String contentType, OMElement payload,
+ XMLMessageType xmlMessageType) {
+ this.contentType = contentType;
+ this.payload = payload;
+ this.xmlMessageType = xmlMessageType;
+ }
+
+ public String getContentType() {
+ return contentType;
+ }
+
+ public XMLMessageType getXmlMessageType() {
+ return xmlMessageType;
+ }
+
+ public OMElement getPayload() {
+ return payload;
+ }
+}
Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTransportListenerTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTransportListenerTest.java?rev=683039&r1=683038&r2=683039&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTransportListenerTest.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTransportListenerTest.java Tue Aug 5 16:41:14 2008
@@ -29,12 +29,16 @@
import junit.framework.TestSuite;
import org.apache.axis2.description.AxisService;
+import org.apache.synapse.transport.testkit.listener.AbstractMessageSender;
+import org.apache.synapse.transport.testkit.listener.Adapter;
+import org.apache.synapse.transport.testkit.listener.AsyncMessageSender;
import org.apache.synapse.transport.testkit.listener.AxisAsyncMessageSender;
-import org.apache.synapse.transport.testkit.listener.BinaryPayloadSender;
+import org.apache.synapse.transport.testkit.listener.ByteArrayMessage;
import org.apache.synapse.transport.testkit.listener.ContentTypeMode;
import org.apache.synapse.transport.testkit.listener.ListenerTestSetup;
import org.apache.synapse.transport.testkit.listener.ListenerTestSuite;
-import org.apache.synapse.transport.testkit.listener.XMLAsyncMessageSender;
+import org.apache.synapse.transport.testkit.listener.SenderOptions;
+import org.apache.synapse.transport.testkit.listener.XMLMessage;
/**
* TransportListenerTestTemplate implementation for the VFS transport.
@@ -47,11 +51,10 @@
}
}
- private static class MessageSenderImpl extends BinaryPayloadSender<VFSFileChannel> {
- @Override
- public void sendMessage(VFSFileChannel channel, String endpointReference, String contentType, byte[] content) throws Exception {
+ private static class MessageSenderImpl extends AbstractMessageSender<VFSFileChannel> implements AsyncMessageSender<VFSFileChannel,ByteArrayMessage> {
+ public void sendMessage(VFSFileChannel channel, SenderOptions options, ByteArrayMessage message) throws Exception {
OutputStream out = new FileOutputStream(channel.getRequestFile());
- out.write(content);
+ out.write(message.getContent());
out.close();
}
}
@@ -62,10 +65,10 @@
TestStrategyImpl setup = new TestStrategyImpl();
VFSFileChannel channel = new VFSFileChannel(setup, new File("target/vfs3/req/in").getAbsoluteFile());
MessageSenderImpl vfsSender = new MessageSenderImpl();
- List<XMLAsyncMessageSender<? super VFSFileChannel>> senders = new LinkedList<XMLAsyncMessageSender<? super VFSFileChannel>>();
- senders.add(vfsSender);
+ List<AsyncMessageSender<? super VFSFileChannel,XMLMessage>> senders = new LinkedList<AsyncMessageSender<? super VFSFileChannel,XMLMessage>>();
+ senders.add(new Adapter<VFSFileChannel>(vfsSender));
senders.add(new AxisAsyncMessageSender());
- for (XMLAsyncMessageSender<? super VFSFileChannel> sender : senders) {
+ for (AsyncMessageSender<? super VFSFileChannel,XMLMessage> sender : senders) {
suite.addSOAPTests(channel, sender, ContentTypeMode.SERVICE);
suite.addPOXTests(channel, sender, ContentTypeMode.SERVICE);
// Since VFS has no Content-Type header, SwA is not supported.