Author: veithen
Date: Tue Sep 23 11:36:42 2008
New Revision: 698274
URL: http://svn.apache.org/viewvc?rev=698274&view=rev
Log:
Transport tests:
* Decoupled TransportTestSuite from the actual test case implementations.
* Added SOAP tests for request/response.
Modified:
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/testkit/TransportTestSuite.java
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/TransportTestSuiteBuilder.java
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=698274&r1=698273&r2=698274&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 Sep 23 11:36:42 2008
@@ -43,6 +43,7 @@
suite.addExclude("(test=AsyncSwA)");
suite.addExclude("(test=AsyncBinary)");
suite.addExclude("(&(test=AsyncTextPlain)(!(data=ASCII)))");
+ suite.addExclude("(&(test=EchoXML)(messageType=SOAP12))");
// SYNAPSE-434
suite.addExclude("(test=MinConcurrency)");
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=698274&r1=698273&r2=698274&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
Tue Sep 23 11:36:42 2008
@@ -30,51 +30,14 @@
import junit.framework.TestSuite;
import org.apache.commons.lang.StringUtils;
-import org.apache.synapse.transport.testkit.channel.AsyncChannel;
-import org.apache.synapse.transport.testkit.channel.RequestResponseChannel;
-import org.apache.synapse.transport.testkit.client.AsyncTestClient;
-import org.apache.synapse.transport.testkit.client.RequestResponseTestClient;
import org.apache.synapse.transport.testkit.filter.FilterExpression;
import org.apache.synapse.transport.testkit.filter.FilterExpressionParser;
-import org.apache.synapse.transport.testkit.message.RESTMessage;
-import org.apache.synapse.transport.testkit.message.XMLMessage;
-import org.apache.synapse.transport.testkit.message.RESTMessage.Parameter;
-import org.apache.synapse.transport.testkit.server.AsyncEndpoint;
-import org.apache.synapse.transport.testkit.server.Endpoint;
import org.apache.synapse.transport.testkit.tests.TestResourceSet;
import org.apache.synapse.transport.testkit.tests.TestResourceSetTransition;
import org.apache.synapse.transport.testkit.tests.TransportTestCase;
-import org.apache.synapse.transport.testkit.tests.async.BinaryTestCase;
-import org.apache.synapse.transport.testkit.tests.async.RESTTestCase;
-import org.apache.synapse.transport.testkit.tests.async.SwATestCase;
-import org.apache.synapse.transport.testkit.tests.async.TextPlainTestCase;
-import
org.apache.synapse.transport.testkit.tests.async.XMLAsyncMessageTestCase;
-import
org.apache.synapse.transport.testkit.tests.echo.XMLRequestResponseMessageTestCase;
import org.apache.synapse.transport.testkit.util.LogManager;
public class TransportTestSuite extends TestSuite {
- public static final String testString = "\u00e0 peine arriv\u00e9s nous
entr\u00e2mes dans sa chambre";
-
- public static final MessageTestData ASCII_TEST_DATA = new
MessageTestData("ASCII", "test string", "us-ascii");
- public static final MessageTestData UTF8_TEST_DATA = new
MessageTestData("UTF8", testString, "UTF-8");
- public static final MessageTestData LATIN1_TEST_DATA = new
MessageTestData("Latin1", testString, "ISO-8859-1");
-
- private static final MessageTestData[] messageTestData = new
MessageTestData[] {
- ASCII_TEST_DATA,
- UTF8_TEST_DATA,
- LATIN1_TEST_DATA,
- };
-
- private static final RESTMessage restTestMessage1 = new RESTMessage(new
Parameter[] {
- new Parameter("param1", "value1"),
- new Parameter("param2", "value2"),
- });
-
- private static final RESTMessage restTestMessage2 = new RESTMessage(new
Parameter[] {
- new Parameter("param", "value1"),
- new Parameter("param", "value2"),
- });
-
private final Class<?> testClass;
private final List<FilterExpression> excludes = new
LinkedList<FilterExpression>();
private final boolean reuseResources;
@@ -102,66 +65,6 @@
this.invertExcludes = invertExcludes;
}
- public void addSOAP11Test(AsyncChannel channel,
AsyncTestClient<XMLMessage> client, AsyncEndpoint<XMLMessage> endpoint,
MessageTestData data, Object... resources) {
- addTest(new XMLAsyncMessageTestCase(channel, client, endpoint,
XMLMessage.Type.SOAP11, data, resources));
- }
-
- public void addSOAP12Test(AsyncChannel channel,
AsyncTestClient<XMLMessage> client, AsyncEndpoint<XMLMessage> endpoint,
MessageTestData data, Object... resources) {
- addTest(new XMLAsyncMessageTestCase(channel, client, endpoint,
XMLMessage.Type.SOAP12, data, resources));
- }
-
- public void addSOAPTests(AsyncChannel channel, AsyncTestClient<XMLMessage>
client, AsyncEndpoint<XMLMessage> endpoint, Object... resources) {
- for (MessageTestData data : messageTestData) {
- addSOAP11Test(channel, client, endpoint, data, resources);
- addSOAP12Test(channel, client, endpoint, data, resources);
- }
- }
-
- public void addPOXTest(AsyncChannel channel, AsyncTestClient<XMLMessage>
client, AsyncEndpoint<XMLMessage> endpoint, MessageTestData data, Object...
resources) {
- addTest(new XMLAsyncMessageTestCase(channel, client, endpoint,
XMLMessage.Type.POX, data, resources));
- }
-
- public void addPOXTests(AsyncChannel channel, AsyncTestClient<XMLMessage>
client, AsyncEndpoint<XMLMessage> endpoint, Object... resources) {
- for (MessageTestData data : messageTestData) {
- addPOXTest(channel, client, endpoint, data, resources);
- }
- }
-
- public void addPOXTest(RequestResponseChannel channel,
RequestResponseTestClient<XMLMessage,XMLMessage> client, Endpoint endpoint,
MessageTestData data, Object... resources) {
- addTest(new XMLRequestResponseMessageTestCase(channel, client,
endpoint, XMLMessage.Type.POX, data, resources));
- }
-
- public void addPOXTests(RequestResponseChannel channel,
RequestResponseTestClient<XMLMessage,XMLMessage> client, Endpoint endpoint,
Object... resources) {
- for (MessageTestData data : messageTestData) {
- addPOXTest(channel, client, endpoint, data, resources);
- }
- }
-
- // TODO: this test actually only makes sense if the transport supports a
Content-Type header
- public void addSwATests(AsyncChannel channel, AsyncTestClient<XMLMessage>
client, AsyncEndpoint<XMLMessage> endpoint, Object... resources) {
- addTest(new SwATestCase(channel, client, endpoint, resources));
- }
-
- public void addTextPlainTest(AsyncChannel channel, AsyncTestClient<String>
client, AsyncEndpoint<String> endpoint, MessageTestData data, Object...
resources) {
- addTest(new TextPlainTestCase(channel, client, endpoint, data,
resources));
- }
-
- public void addTextPlainTests(AsyncChannel channel,
AsyncTestClient<String> client, AsyncEndpoint<String> endpoint, Object...
resources) {
- for (MessageTestData data : messageTestData) {
- addTextPlainTest(channel, client, endpoint, data, resources);
- }
- }
-
- public void addBinaryTest(AsyncChannel channel, AsyncTestClient<byte[]>
client, AsyncEndpoint<byte[]> endpoint, Object... resources) {
- addTest(new BinaryTestCase(channel, client, endpoint, resources));
- }
-
- public void addRESTTests(AsyncChannel channel,
AsyncTestClient<RESTMessage> client, AsyncEndpoint<RESTMessage> endpoint,
Object... resources) {
- addTest(new RESTTestCase(channel, client, endpoint, restTestMessage1,
resources));
- // TODO: regression test for SYNAPSE-431
-// addTest(new RESTTestCase(env, channel, client, endpoint,
restTestMessage2));
- }
-
@Override
public void addTest(Test test) {
if (test instanceof TransportTestCase) {
Modified:
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/TransportTestSuiteBuilder.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/TransportTestSuiteBuilder.java?rev=698274&r1=698273&r2=698274&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/TransportTestSuiteBuilder.java
(original)
+++
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/TransportTestSuiteBuilder.java
Tue Sep 23 11:36:42 2008
@@ -38,9 +38,16 @@
import org.apache.synapse.transport.testkit.message.MessageEncoder;
import org.apache.synapse.transport.testkit.message.RESTMessage;
import org.apache.synapse.transport.testkit.message.XMLMessage;
+import org.apache.synapse.transport.testkit.message.RESTMessage.Parameter;
import org.apache.synapse.transport.testkit.server.AsyncEndpoint;
import org.apache.synapse.transport.testkit.server.Endpoint;
+import org.apache.synapse.transport.testkit.tests.async.BinaryTestCase;
import
org.apache.synapse.transport.testkit.tests.async.LargeSOAPAsyncMessageTestCase;
+import org.apache.synapse.transport.testkit.tests.async.RESTTestCase;
+import org.apache.synapse.transport.testkit.tests.async.SwATestCase;
+import org.apache.synapse.transport.testkit.tests.async.TextPlainTestCase;
+import
org.apache.synapse.transport.testkit.tests.async.XMLAsyncMessageTestCase;
+import
org.apache.synapse.transport.testkit.tests.echo.XMLRequestResponseMessageTestCase;
public class TransportTestSuiteBuilder {
static class ResourceRelation<T> {
@@ -73,6 +80,28 @@
}
}
+ public static final String testString = "\u00e0 peine arriv\u00e9s nous
entr\u00e2mes dans sa chambre";
+
+ public static final MessageTestData ASCII_TEST_DATA = new
MessageTestData("ASCII", "test string", "us-ascii");
+ public static final MessageTestData UTF8_TEST_DATA = new
MessageTestData("UTF8", testString, "UTF-8");
+ public static final MessageTestData LATIN1_TEST_DATA = new
MessageTestData("Latin1", testString, "ISO-8859-1");
+
+ private static final MessageTestData[] messageTestData = new
MessageTestData[] {
+ ASCII_TEST_DATA,
+ UTF8_TEST_DATA,
+ LATIN1_TEST_DATA,
+ };
+
+ private static final RESTMessage restTestMessage1 = new RESTMessage(new
Parameter[] {
+ new Parameter("param1", "value1"),
+ new Parameter("param2", "value2"),
+ });
+
+ private static final RESTMessage restTestMessage2 = new RESTMessage(new
Parameter[] {
+ new Parameter("param", "value1"),
+ new Parameter("param", "value2"),
+ });
+
private final TransportTestSuite suite;
private final List<Object[]> environments = new LinkedList<Object[]>();
@@ -185,9 +214,14 @@
for (ResourceRelation<AsyncTestClient<XMLMessage>> client :
xmlAsyncClients) {
for (ResourceRelation<AsyncEndpoint<XMLMessage>> endpoint :
xmlAsyncEndpoints) {
Object[] resources = merge(env, channel, client, endpoint);
- suite.addSOAPTests(channel.getPrimaryResource(),
client.getPrimaryResource(), endpoint.getPrimaryResource(), resources);
- suite.addPOXTests(channel.getPrimaryResource(),
client.getPrimaryResource(), endpoint.getPrimaryResource(), resources);
- suite.addSwATests(channel.getPrimaryResource(),
client.getPrimaryResource(), endpoint.getPrimaryResource(), resources);
+ for (MessageTestData data : messageTestData) {
+ for (XMLMessage.Type type : XMLMessage.Type.values()) {
+ if (type != XMLMessage.Type.SWA) {
+ suite.addTest(new
XMLAsyncMessageTestCase(channel.getPrimaryResource(),
client.getPrimaryResource(), endpoint.getPrimaryResource(), type, data,
resources));
+ }
+ }
+ }
+ suite.addTest(new
SwATestCase(channel.getPrimaryResource(), client.getPrimaryResource(),
endpoint.getPrimaryResource(), resources));
// Regression test for SYNAPSE-423:
suite.addTest(new
LargeSOAPAsyncMessageTestCase(channel.getPrimaryResource(),
client.getPrimaryResource(), endpoint.getPrimaryResource(), resources));
}
@@ -195,19 +229,23 @@
for (ResourceRelation<AsyncTestClient<String>> client :
stringAsyncClients) {
for (ResourceRelation<AsyncEndpoint<String>> endpoint :
stringAsyncEndpoints) {
Object[] resources = merge(env, channel, client, endpoint);
- suite.addTextPlainTests(channel.getPrimaryResource(),
client.getPrimaryResource(), endpoint.getPrimaryResource(), resources);
+ for (MessageTestData data : messageTestData) {
+ suite.addTest(new
TextPlainTestCase(channel.getPrimaryResource(), client.getPrimaryResource(),
endpoint.getPrimaryResource(), data, resources));
+ }
}
}
for (ResourceRelation<AsyncTestClient<byte[]>> client :
byteAsyncClients) {
for (ResourceRelation<AsyncEndpoint<byte[]>> endpoint :
byteAsyncEndpoints) {
Object[] resources = merge(env, channel, client, endpoint);
- suite.addBinaryTest(channel.getPrimaryResource(),
client.getPrimaryResource(), endpoint.getPrimaryResource(), resources);
+ suite.addTest(new
BinaryTestCase(channel.getPrimaryResource(), client.getPrimaryResource(),
endpoint.getPrimaryResource(), resources));
}
}
for (ResourceRelation<AsyncTestClient<RESTMessage>> client :
restAsyncClients) {
for (ResourceRelation<AsyncEndpoint<RESTMessage>> endpoint :
restAsyncEndpoints) {
Object[] resources = merge(env, channel, client, endpoint);
- suite.addRESTTests(channel.getPrimaryResource(),
client.getPrimaryResource(), endpoint.getPrimaryResource(), resources);
+ suite.addTest(new
RESTTestCase(channel.getPrimaryResource(), client.getPrimaryResource(),
endpoint.getPrimaryResource(), restTestMessage1, resources));
+ // TODO: regression test for SYNAPSE-431
+// addTest(new RESTTestCase(env, channel, client, endpoint,
restTestMessage2));
}
}
}
@@ -215,7 +253,13 @@
for
(ResourceRelation<RequestResponseTestClient<XMLMessage,XMLMessage>> client :
xmlRequestResponseClients) {
for (ResourceRelation<Endpoint> endpoint : echoEndpoints) {
Object[] resources = merge(env, channel, client, endpoint);
- suite.addPOXTests(channel.getPrimaryResource(),
client.getPrimaryResource(), endpoint.getPrimaryResource(), resources);
+ for (MessageTestData data : messageTestData) {
+ for (XMLMessage.Type type : XMLMessage.Type.values()) {
+ if (type != XMLMessage.Type.SWA) {
+ suite.addTest(new
XMLRequestResponseMessageTestCase(channel.getPrimaryResource(),
client.getPrimaryResource(), endpoint.getPrimaryResource(), type, data,
resources));
+ }
+ }
+ }
}
}
}