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/24 16:36:54 UTC
svn commit: r688519 - in
/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport:
jms/ mail/ nhttp/ testkit/client/axis2/ testkit/server/axis2/
testkit/tests/ vfs/
Author: veithen
Date: Sun Aug 24 07:36:53 2008
New Revision: 688519
URL: http://svn.apache.org/viewvc?rev=688519&view=rev
Log:
Transport test kit: optimized resource lifecycle.
Added:
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisTestClientContext.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/client/axis2/AxisTestClient.java
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AxisServer.java
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TestResource.java
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TestResourceSet.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/vfs/VFSTransportListenerTest.java
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=688519&r1=688518&r2=688519&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 Sun Aug 24 07:36:53 2008
@@ -47,7 +47,6 @@
public static TestSuite suite() {
TransportTestSuite suite = new TransportTestSuite();
TransportDescriptionFactory tdf = new JMSTransportDescriptionFactory();
- AxisServer server = new AxisServer();
AxisAsyncEndpointFactory asyncEndpointFactory = new AxisAsyncEndpointFactory();
AxisEchoEndpointFactory echoEndpointFactory = new AxisEchoEndpointFactory();
JMSBytesMessageClient bytesMessageClient = new JMSBytesMessageClient();
@@ -59,35 +58,35 @@
clients.add(adapt(new AxisAsyncTestClient(new JMSAxisTestClientSetup(JMSConstants.JMS_BYTE_MESSAGE)), MessageConverter.XML_TO_AXIS));
clients.add(adapt(new AxisAsyncTestClient(new JMSAxisTestClientSetup(JMSConstants.JMS_TEXT_MESSAGE)), MessageConverter.XML_TO_AXIS));
for (JMSTestEnvironment env : new JMSTestEnvironment[] { new QpidTestEnvironment(), new ActiveMQTestEnvironment() }) {
- suite.addPOXTests(new JMSRequestResponseChannel(JMSConstants.DESTINATION_TYPE_QUEUE, JMSConstants.DESTINATION_TYPE_QUEUE), adapt(new AxisRequestResponseTestClient(), MessageConverter.XML_TO_AXIS, MessageConverter.AXIS_TO_XML), echoEndpointFactory, ContentTypeMode.TRANSPORT, env, server, tdf);
+ suite.addPOXTests(new JMSRequestResponseChannel(JMSConstants.DESTINATION_TYPE_QUEUE, JMSConstants.DESTINATION_TYPE_QUEUE), adapt(new AxisRequestResponseTestClient(), MessageConverter.XML_TO_AXIS, MessageConverter.AXIS_TO_XML), echoEndpointFactory, ContentTypeMode.TRANSPORT, env, tdf);
suite.addPOXTests(new JMSRequestResponseChannel(JMSConstants.DESTINATION_TYPE_QUEUE, JMSConstants.DESTINATION_TYPE_QUEUE), adapt(new AxisRequestResponseTestClient(), MessageConverter.XML_TO_AXIS, MessageConverter.AXIS_TO_XML), new MockEchoEndpointFactory(), ContentTypeMode.TRANSPORT, env, tdf);
for (String destinationType : new String[] { JMSConstants.DESTINATION_TYPE_QUEUE, JMSConstants.DESTINATION_TYPE_TOPIC }) {
JMSAsyncChannel channel = new JMSAsyncChannel(destinationType);
for (ContentTypeMode contentTypeMode : ContentTypeMode.values()) {
for (AsyncTestClient<XMLMessage> client : clients) {
if (contentTypeMode == ContentTypeMode.TRANSPORT) {
- suite.addSOAPTests(channel, client, asyncEndpointFactory, contentTypeMode, env, server, tdf);
- suite.addPOXTests(channel, client, asyncEndpointFactory, contentTypeMode, env, server, tdf);
+ suite.addSOAPTests(channel, client, asyncEndpointFactory, contentTypeMode, env, tdf);
+ suite.addPOXTests(channel, client, asyncEndpointFactory, contentTypeMode, env, tdf);
} 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(channel, client, asyncEndpointFactory, contentTypeMode, new MessageTestData(null, TransportTestSuite.testString,
- MessageContext.DEFAULT_CHAR_SET_ENCODING), env, server, tdf);
+ MessageContext.DEFAULT_CHAR_SET_ENCODING), env, tdf);
suite.addSOAP12Test(channel, client, asyncEndpointFactory, contentTypeMode, new MessageTestData(null, TransportTestSuite.testString,
- MessageContext.DEFAULT_CHAR_SET_ENCODING), env, server, tdf);
+ MessageContext.DEFAULT_CHAR_SET_ENCODING), env, tdf);
suite.addPOXTest(channel, client, asyncEndpointFactory, contentTypeMode, new MessageTestData(null, TransportTestSuite.testString,
- MessageContext.DEFAULT_CHAR_SET_ENCODING), env, server, tdf);
+ MessageContext.DEFAULT_CHAR_SET_ENCODING), env, tdf);
}
}
if (contentTypeMode == ContentTypeMode.TRANSPORT) {
- suite.addSwATests(channel, bytesMessageClient, asyncEndpointFactory, env, server, tdf);
+ suite.addSwATests(channel, bytesMessageClient, asyncEndpointFactory, env, tdf);
}
// TODO: these tests are temporarily disabled because of SYNAPSE-304
// addTextPlainTests(strategy, suite);
- suite.addBinaryTest(channel, bytesMessageClient, adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_BYTE), contentTypeMode, env, server, tdf);
+ suite.addBinaryTest(channel, bytesMessageClient, adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_BYTE), contentTypeMode, env, tdf);
}
}
- suite.addTest(new MinConcurrencyTest(server, new AsyncChannel[] {
+ suite.addTest(new MinConcurrencyTest(AxisServer.INSTANCE, new AsyncChannel[] {
new JMSAsyncChannel("endpoint1", JMSConstants.DESTINATION_TYPE_QUEUE),
new JMSAsyncChannel("endpoint2", JMSConstants.DESTINATION_TYPE_QUEUE) },
2, false, env, tdf));
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=688519&r1=688518&r2=688519&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 Sun Aug 24 07:36:53 2008
@@ -56,27 +56,26 @@
MailTestEnvironment env = new GreenMailTestEnvironment();
- AxisServer axisServer = new AxisServer();
AxisAsyncEndpointFactory asyncEndpointFactory = new AxisAsyncEndpointFactory();
MailChannel channel = new MailChannel();
- suite.addPOXTests(channel, adapt(new MailRequestResponseClient(new FlatLayout()), MessageConverter.XML_TO_BYTE, MessageConverter.BYTE_TO_XML), new AxisEchoEndpointFactory(), ContentTypeMode.TRANSPORT, env, axisServer);
+ suite.addPOXTests(channel, adapt(new MailRequestResponseClient(new FlatLayout()), MessageConverter.XML_TO_BYTE, MessageConverter.BYTE_TO_XML), new AxisEchoEndpointFactory(), ContentTypeMode.TRANSPORT, env);
List<MailAsyncClient> clients = new LinkedList<MailAsyncClient>();
clients.add(new MailAsyncClient(new FlatLayout()));
clients.add(new MailAsyncClient(new MultipartLayout()));
for (MailAsyncClient client : clients) {
AsyncTestClient<XMLMessage> xmlClient = adapt(client, MessageConverter.XML_TO_BYTE);
- suite.addSOAPTests(channel, xmlClient, asyncEndpointFactory, ContentTypeMode.TRANSPORT, env, axisServer);
- suite.addPOXTests(channel, xmlClient, asyncEndpointFactory, ContentTypeMode.TRANSPORT, env, axisServer);
- suite.addSwATests(channel, client, asyncEndpointFactory, env, axisServer);
- suite.addTextPlainTests(channel, adapt(client, MessageConverter.STRING_TO_BYTE), AdapterUtils.adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_STRING), ContentTypeMode.TRANSPORT, env, axisServer);
- suite.addBinaryTest(channel, client, adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_BYTE), ContentTypeMode.TRANSPORT, env, axisServer);
+ suite.addSOAPTests(channel, xmlClient, asyncEndpointFactory, ContentTypeMode.TRANSPORT, env);
+ suite.addPOXTests(channel, xmlClient, asyncEndpointFactory, ContentTypeMode.TRANSPORT, env);
+ suite.addSwATests(channel, client, asyncEndpointFactory, env);
+ suite.addTextPlainTests(channel, adapt(client, MessageConverter.STRING_TO_BYTE), AdapterUtils.adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_STRING), ContentTypeMode.TRANSPORT, env);
+ suite.addBinaryTest(channel, client, adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_BYTE), ContentTypeMode.TRANSPORT, env);
}
AxisAsyncTestClient axisClient = new AxisAsyncTestClient();
- suite.addSOAPTests(channel, adapt(axisClient, MessageConverter.XML_TO_AXIS), asyncEndpointFactory, ContentTypeMode.TRANSPORT, env, axisServer);
- suite.addPOXTests(channel, adapt(axisClient, MessageConverter.XML_TO_AXIS), asyncEndpointFactory, ContentTypeMode.TRANSPORT, env, axisServer);
- suite.addTextPlainTests(channel, adapt(axisClient, MessageConverter.TEXT_WRAPPER), AdapterUtils.adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_STRING), ContentTypeMode.TRANSPORT, env, axisServer);
- suite.addBinaryTest(channel, adapt(axisClient, MessageConverter.BINARY_WRAPPER), adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_BYTE), ContentTypeMode.TRANSPORT, env, axisServer);
- suite.addTest(new MinConcurrencyTest(axisServer, new MailChannel[] { new MailChannel(), new MailChannel() }, 2, true, env));
+ suite.addSOAPTests(channel, adapt(axisClient, MessageConverter.XML_TO_AXIS), asyncEndpointFactory, ContentTypeMode.TRANSPORT, env);
+ suite.addPOXTests(channel, adapt(axisClient, MessageConverter.XML_TO_AXIS), asyncEndpointFactory, ContentTypeMode.TRANSPORT, env);
+ suite.addTextPlainTests(channel, adapt(axisClient, MessageConverter.TEXT_WRAPPER), AdapterUtils.adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_STRING), ContentTypeMode.TRANSPORT, env);
+ suite.addBinaryTest(channel, adapt(axisClient, MessageConverter.BINARY_WRAPPER), adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_BYTE), ContentTypeMode.TRANSPORT, env);
+ suite.addTest(new MinConcurrencyTest(AxisServer.INSTANCE, new MailChannel[] { new MailChannel(), new MailChannel() }, 2, true, env));
return suite;
}
}
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=688519&r1=688518&r2=688519&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 Sun Aug 24 07:36:53 2008
@@ -70,7 +70,6 @@
// Change to tdfSimple if you want to check the behavior of Axis' blocking HTTP transport
TransportDescriptionFactory tdf = tdfNIO;
- AxisServer axisServer = new AxisServer();
AxisAsyncEndpointFactory asyncEndpointFactory = new AxisAsyncEndpointFactory();
// AxisEchoEndpointFactory echoEndpointFactory = new AxisEchoEndpointFactory();
HttpChannel channel = new HttpChannel();
@@ -80,15 +79,15 @@
clients.add(adapt(new AxisAsyncTestClient(new HttpAxisTestClientSetup(false)), MessageConverter.XML_TO_AXIS));
clients.add(adapt(new AxisAsyncTestClient(new HttpAxisTestClientSetup(true)), MessageConverter.XML_TO_AXIS));
for (AsyncTestClient<XMLMessage> client : clients) {
- suite.addSOAPTests(channel, client, asyncEndpointFactory, ContentTypeMode.TRANSPORT, env, axisServer, tdf);
- suite.addPOXTests(channel, client, asyncEndpointFactory, ContentTypeMode.TRANSPORT, env, axisServer, tdf);
+ suite.addSOAPTests(channel, client, asyncEndpointFactory, ContentTypeMode.TRANSPORT, env, tdf);
+ suite.addPOXTests(channel, client, asyncEndpointFactory, ContentTypeMode.TRANSPORT, env, tdf);
}
// suite.addPOXTests(channel, adapt(new AxisRequestResponseTestClient(), MessageConverter.XML_TO_AXIS, MessageConverter.AXIS_TO_XML), echoEndpointFactory, ContentTypeMode.TRANSPORT, env, axisServer, tdf);
- suite.addSwATests(channel, javaNetClient, asyncEndpointFactory, env, axisServer, tdf);
- suite.addTextPlainTests(channel, adapt(javaNetClient, MessageConverter.STRING_TO_BYTE), adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_STRING), ContentTypeMode.TRANSPORT, env, axisServer, tdf);
- suite.addBinaryTest(channel, javaNetClient, adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_BYTE), ContentTypeMode.TRANSPORT, env, axisServer, tdf);
- suite.addRESTTests(channel, new JavaNetRESTClient(), asyncEndpointFactory, env, axisServer, tdf);
- suite.addTest(new MinConcurrencyTest(axisServer, new AsyncChannel[] { new HttpChannel(), new HttpChannel() }, 2, false, env, tdf));
+ suite.addSwATests(channel, javaNetClient, asyncEndpointFactory, env, tdf);
+ suite.addTextPlainTests(channel, adapt(javaNetClient, MessageConverter.STRING_TO_BYTE), adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_STRING), ContentTypeMode.TRANSPORT, env, tdf);
+ suite.addBinaryTest(channel, javaNetClient, adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_BYTE), ContentTypeMode.TRANSPORT, env, tdf);
+ suite.addRESTTests(channel, new JavaNetRESTClient(), asyncEndpointFactory, env, tdf);
+ suite.addTest(new MinConcurrencyTest(AxisServer.INSTANCE, new AsyncChannel[] { new HttpChannel(), new HttpChannel() }, 2, false, env, tdf));
return suite;
}
}
Modified: 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=688519&r1=688518&r2=688519&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisTestClient.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisTestClient.java Sun Aug 24 07:36:53 2008
@@ -19,8 +19,6 @@
package org.apache.synapse.transport.testkit.client.axis2;
-import java.io.File;
-
import javax.xml.namespace.QName;
import org.apache.axis2.Constants;
@@ -28,14 +26,9 @@
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.TransportDescriptionFactory;
import org.apache.synapse.transport.testkit.client.ClientOptions;
import org.apache.synapse.transport.testkit.client.TestClient;
import org.apache.synapse.transport.testkit.listener.Channel;
@@ -49,9 +42,8 @@
private final AxisTestClientSetup setup;
+ private AxisTestClientContext context;
private Channel channel;
- private TransportOutDescription trpOutDesc;
- private ConfigurationContext cfgCtx;
public AxisTestClient(AxisTestClientSetup setup) {
this.setup = setup;
@@ -67,24 +59,11 @@
}
@SuppressWarnings("unused")
- private void setUp(TransportDescriptionFactory tdf, Channel channel) throws Exception {
+ private void setUp(AxisTestClientContext context, Channel channel) throws Exception {
+ this.context = context;
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);
}
- @SuppressWarnings("unused")
- private void tearDown() throws Exception {
- trpOutDesc.getSender().stop();
- }
-
protected OperationClient createClient(ClientOptions options, AxisMessage message, QName operationQName) throws Exception {
EndpointReference epr = channel.getEndpointReference();
log.info("Sending to " + epr.getAddress());
@@ -92,7 +71,7 @@
Options axisOptions = new Options();
axisOptions.setTo(epr);
- ServiceClient serviceClient = new ServiceClient(cfgCtx, null);
+ ServiceClient serviceClient = new ServiceClient(context.getConfigurationContext(), null);
serviceClient.setOptions(axisOptions);
OperationClient mepClient = serviceClient.createClient(operationQName);
Added: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisTestClientContext.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisTestClientContext.java?rev=688519&view=auto
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisTestClientContext.java (added)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/client/axis2/AxisTestClientContext.java Sun Aug 24 07:36:53 2008
@@ -0,0 +1,58 @@
+/*
+ * 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 org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.axis2.description.TransportOutDescription;
+import org.apache.axis2.engine.AxisConfiguration;
+import org.apache.synapse.transport.testkit.TransportDescriptionFactory;
+
+public class AxisTestClientContext {
+ public static final AxisTestClientContext INSTANCE = new AxisTestClientContext();
+
+ private TransportOutDescription trpOutDesc;
+ private ConfigurationContext cfgCtx;
+
+ private AxisTestClientContext() {}
+
+ @SuppressWarnings("unused")
+ private void setUp(TransportDescriptionFactory tdf) throws Exception {
+ cfgCtx =
+ ConfigurationContextFactory.createConfigurationContextFromFileSystem(
+ new File("target/test_rep").getAbsolutePath());
+ AxisConfiguration axisCfg = cfgCtx.getAxisConfiguration();
+
+ trpOutDesc = tdf.createTransportOutDescription();
+ axisCfg.addTransportOut(trpOutDesc);
+ trpOutDesc.getSender().init(cfgCtx, trpOutDesc);
+ }
+
+ @SuppressWarnings("unused")
+ private void tearDown() throws Exception {
+ trpOutDesc.getSender().stop();
+ }
+
+ public ConfigurationContext getConfigurationContext() {
+ return cfgCtx;
+ }
+}
Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AxisServer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AxisServer.java?rev=688519&r1=688518&r2=688519&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AxisServer.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AxisServer.java Sun Aug 24 07:36:53 2008
@@ -43,23 +43,20 @@
import org.apache.synapse.transport.testkit.server.Server;
public class AxisServer implements Server {
- private static AxisServer activeServer;
+ public static final AxisServer INSTANCE = new AxisServer();
private TransportListener listener;
private UtilsTransportServer server;
private TestEnvironment env;
+ private AxisServer() {}
+
@SuppressWarnings("unused")
private void setUp(TestEnvironment env, TransportDescriptionFactory tdf) throws Exception {
this.env = env;
server = new UtilsTransportServer();
- if (activeServer != null) {
- throw new IllegalStateException();
- }
- activeServer = this;
-
TransportOutDescription trpOutDesc = tdf.createTransportOutDescription();
TransportInDescription trpInDesc = tdf.createTransportInDescription();
listener = trpInDesc.getReceiver();
@@ -97,7 +94,6 @@
listener = null;
server = null;
env = null;
- activeServer = null;
}
public AxisConfiguration getAxisConfiguration() {
Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TestResource.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TestResource.java?rev=688519&r1=688518&r2=688519&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TestResource.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TestResource.java Sun Aug 24 07:36:53 2008
@@ -75,7 +75,7 @@
this.target = target;
}
- public void resolve(List<TestResource> resources) {
+ public void resolve(TestResourceSet resourceSet) {
for (Class<?> clazz = target.getClass(); !clazz.equals(Object.class);
clazz = clazz.getSuperclass()) {
for (Method method : clazz.getDeclaredMethods()) {
@@ -89,23 +89,18 @@
throw new Error("Generic parameters not supported in " + method);
}
Class<?> parameterClass = (Class<?>)parameterType;
- TestResource res = null;
- for (TestResource resource : resources) {
- if (resource != this) {
- Object obj = resource.getInstance();
- if (parameterClass.isInstance(obj)) {
- if (res != null) {
- throw new Error(target.getClass().getName() + " depends on " + parameterClass.getName() + ", but multiple candidates found");
- }
- res = resource;
- }
- }
+ TestResource[] resources = resourceSet.findResources(parameterClass, true);
+ if (resources.length == 0) {
+ throw new Error(target.getClass().getName() + " depends on " +
+ parameterClass.getName() + ", but none found");
+ } else if (resources.length > 1) {
+ throw new Error(target.getClass().getName() + " depends on " +
+ parameterClass.getName() + ", but multiple candidates found");
+
}
- if (res == null) {
- throw new Error(target.getClass().getName() + " depends on " + parameterClass.getName() + ", but none found");
- }
- directDependencies.add(res);
- args[i] = res.getInstance();
+ TestResource resource = resources[0];
+ directDependencies.add(resource);
+ args[i] = resource.getInstance();
}
method.setAccessible(true);
initializers.addFirst(new Initializer(method, target, args));
Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TestResourceSet.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TestResourceSet.java?rev=688519&r1=688518&r2=688519&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TestResourceSet.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TestResourceSet.java Sun Aug 24 07:36:53 2008
@@ -19,6 +19,8 @@
package org.apache.synapse.transport.testkit.tests;
+import java.lang.reflect.Field;
+import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
@@ -32,7 +34,8 @@
private static Log log = LogFactory.getLog(TestResourceSet.class);
private final TestResourceSet parent;
- private final List<TestResource> resources = new LinkedList<TestResource>();
+ private final List<TestResource> unresolvedResources = new LinkedList<TestResource>();
+ private final List<TestResource> resolvedResources = new LinkedList<TestResource>();
private Status status = Status.UNRESOLVED;
public TestResourceSet(TestResourceSet parent) {
@@ -47,7 +50,7 @@
if (status != Status.UNRESOLVED) {
throw new IllegalStateException();
}
- resources.add(new TestResource(resource));
+ unresolvedResources.add(new TestResource(resource));
}
public void addResources(Object... resources) {
@@ -57,9 +60,12 @@
}
public Object[] getResources() {
- Object[] result = new Object[resources.size()];
+ if (status == Status.UNRESOLVED) {
+ throw new IllegalStateException();
+ }
+ Object[] result = new Object[resolvedResources.size()];
int i = 0;
- for (TestResource resource : resources) {
+ for (TestResource resource : resolvedResources) {
result[i++] = resource.getInstance();
}
return result;
@@ -67,24 +73,62 @@
public void resolve() {
if (status == Status.UNRESOLVED) {
- List<TestResource> availableResources = new LinkedList<TestResource>();
- if (parent != null) {
- availableResources.addAll(parent.resources);
- }
- availableResources.addAll(resources);
- for (TestResource resource : resources) {
- resource.resolve(availableResources);
+ while (!unresolvedResources.isEmpty()) {
+ resolveResource(unresolvedResources.get(0));
}
status = Status.RESOLVED;
}
}
+ private void resolveResource(TestResource resource) {
+ unresolvedResources.remove(resource);
+ resource.resolve(this);
+ resolvedResources.add(resource);
+ }
+
+ TestResource[] findResources(Class<?> clazz, boolean allowAutoCreate) {
+ List<TestResource> result = new LinkedList<TestResource>();
+ if (parent != null) {
+ result.addAll(Arrays.asList(parent.findResources(clazz, false)));
+ }
+ for (TestResource resource : resolvedResources) {
+ if (clazz.isInstance(resource.getInstance())) {
+ result.add(resource);
+ }
+ }
+ List<TestResource> unresolvedMatchingResources = new LinkedList<TestResource>();
+ for (TestResource resource : unresolvedResources) {
+ if (clazz.isInstance(resource.getInstance())) {
+ unresolvedMatchingResources.add(resource);
+ }
+ }
+ for (TestResource resource : unresolvedMatchingResources) {
+ resolveResource(resource);
+ result.add(resource);
+ }
+ if (allowAutoCreate && result.isEmpty()) {
+ TestResource resource;
+ try {
+ Field field = clazz.getField("INSTANCE");
+ resource = new TestResource(field.get(null));
+ } catch (Throwable ex) {
+ resource = null;
+ }
+ if (resource != null) {
+ unresolvedResources.add(resource);
+ resolveResource(resource);
+ result.add(resource);
+ }
+ }
+ return result.toArray(new TestResource[result.size()]);
+ }
+
public void setUp() throws Exception {
resolve();
if (status != Status.RESOLVED) {
throw new IllegalStateException();
}
- setUp(resources);
+ setUp(resolvedResources);
status = Status.SETUP;
}
@@ -98,7 +142,7 @@
}
private TestResource lookup(Object instance) {
- for (TestResource resource : resources) {
+ for (TestResource resource : resolvedResources) {
if (resource.getTarget() == instance) {
return resource;
}
@@ -115,9 +159,9 @@
throw new IllegalStateException();
}
List<TestResource> oldResourcesToTearDown = new LinkedList<TestResource>();
- List<TestResource> resourcesToSetUp = new LinkedList<TestResource>(resources);
+ List<TestResource> resourcesToSetUp = new LinkedList<TestResource>(resolvedResources);
List<TestResource> resourcesToKeep = new LinkedList<TestResource>();
- for (TestResource oldResource : old.resources) {
+ for (TestResource oldResource : old.resolvedResources) {
boolean keep;
TestResource resource = lookup(oldResource.getTarget());
if (resource == null) {
@@ -149,7 +193,7 @@
if (status != Status.SETUP) {
throw new IllegalStateException();
}
- tearDown(resources);
+ tearDown(resolvedResources);
}
private static void tearDown(List<TestResource> resources) throws Exception {
@@ -163,6 +207,6 @@
@Override
public String toString() {
- return resources.toString();
+ return resolvedResources.toString();
}
}
Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TransportTestCase.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TransportTestCase.java?rev=688519&r1=688518&r2=688519&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TransportTestCase.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TransportTestCase.java Sun Aug 24 07:36:53 2008
@@ -47,6 +47,7 @@
if (nameComponents == null) {
nameComponents = new LinkedHashMap<String,String>();
NameUtils.getNameComponents(nameComponents, this);
+ resourceSet.resolve();
for (Object resource : resourceSet.getResources()) {
NameUtils.getNameComponents(nameComponents, resource);
}
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=688519&r1=688518&r2=688519&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 Sun Aug 24 07:36:53 2008
@@ -37,7 +37,6 @@
import org.apache.synapse.transport.testkit.message.MessageConverter;
import org.apache.synapse.transport.testkit.message.XMLMessage;
import org.apache.synapse.transport.testkit.server.axis2.AxisAsyncEndpointFactory;
-import org.apache.synapse.transport.testkit.server.axis2.AxisServer;
/**
* TransportListenerTestTemplate implementation for the VFS transport.
@@ -50,7 +49,6 @@
new SimpleTransportDescriptionFactory("vfs", VFSTransportListener.class,
VFSTransportSender.class);
VFSTestEnvironment env = new VFSTestEnvironment(new File("target/vfs3"));
- AxisServer server = new AxisServer();
AxisAsyncEndpointFactory asyncEndpointFactory = new AxisAsyncEndpointFactory();
VFSFileChannel channel = new VFSFileChannel("req/in");
VFSClient vfsClient = new VFSClient();
@@ -58,12 +56,12 @@
clients.add(adapt(vfsClient, MessageConverter.XML_TO_BYTE));
clients.add(adapt(new AxisAsyncTestClient(), MessageConverter.XML_TO_AXIS));
for (AsyncTestClient<XMLMessage> client : clients) {
- suite.addSOAPTests(channel, client, asyncEndpointFactory, ContentTypeMode.SERVICE, env, server, tdf);
- suite.addPOXTests(channel, client, asyncEndpointFactory, ContentTypeMode.SERVICE, env, server, tdf);
+ suite.addSOAPTests(channel, client, asyncEndpointFactory, ContentTypeMode.SERVICE, env, tdf);
+ suite.addPOXTests(channel, client, asyncEndpointFactory, ContentTypeMode.SERVICE, env, tdf);
// Since VFS has no Content-Type header, SwA is not supported.
}
- suite.addTextPlainTests(channel, adapt(vfsClient, MessageConverter.STRING_TO_BYTE), adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_STRING), ContentTypeMode.SERVICE, env, server, tdf);
- suite.addBinaryTest(channel, vfsClient, adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_BYTE), ContentTypeMode.SERVICE, env, server, tdf);
+ suite.addTextPlainTests(channel, adapt(vfsClient, MessageConverter.STRING_TO_BYTE), adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_STRING), ContentTypeMode.SERVICE, env, tdf);
+ suite.addBinaryTest(channel, vfsClient, adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_BYTE), ContentTypeMode.SERVICE, env, tdf);
// suite.addTest(new MinConcurrencyTest(server, new AsyncChannel[] { new VFSFileChannel("req/in1"), new VFSFileChannel("req/in2") }, 1, true, env, tdf));
return suite;
}