You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by se...@apache.org on 2009/01/03 07:33:41 UTC

svn commit: r730924 [9/9] - in /webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules: base/src/main/java/org/apache/axis2/format/ base/src/main/java/org/apache/axis2/transport/base/ base/src/main/java/org/apache/axis2/transport/base/data...

Modified: webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSTransportTest.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSTransportTest.java?rev=730924&r1=730923&r2=730924&view=diff
==============================================================================
--- webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSTransportTest.java (original)
+++ webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JMSTransportTest.java Fri Jan  2 22:33:39 2009
@@ -48,18 +48,24 @@
         //  * Only use a small set of message types for the other setups.
         suite.addExclude("(!(|(&(broker=qpid)(singleCF=false)(cfOnSender=false)(!(|(destType=topic)(replyDestType=topic))))" +
         		             "(&(test=AsyncXML)(messageType=SOAP11)(data=ASCII))" +
-        		             "(&(test=EchoXML)(messageType=POX)(data=ASCII))))");
+        		             "(&(test=EchoXML)(messageType=POX)(data=ASCII))" +
+        		             "(test=MinConcurrency)))");
         
         // SYNAPSE-436:
         suite.addExclude("(&(test=EchoXML)(replyDestType=topic)(endpoint=axis))");
-        
+
+        // Example to run a few use cases.. please leave these commented out - asankha
+        //suite.addExclude("(|(test=AsyncXML)(test=MinConcurrency)(destType=topic)(broker=qpid)(destType=topic)(replyDestType=topic)(client=jms)(endpoint=mock)(cfOnSender=true))");
+        //suite.addExclude("(|(test=EchoXML)(destType=queue)(broker=qpid)(cfOnSender=true)(singleCF=false)(destType=queue)(client=jms)(endpoint=mock))");
+        //suite.addExclude("(|(test=EchoXML)(test=AsyncXML)(test=AsyncSwA)(test=AsyncTextPlain)(test=AsyncBinary)(test=AsyncSOAPLarge)(broker=qpid))");
+
         TransportTestSuiteBuilder builder = new TransportTestSuiteBuilder(suite);
 
         JMSTestEnvironment[] environments = new JMSTestEnvironment[] { new QpidTestEnvironment(), new ActiveMQTestEnvironment() };
         for (boolean singleCF : new boolean[] { false, true }) {
             for (boolean cfOnSender : new boolean[] { false, true }) {
                 for (JMSTestEnvironment env : environments) {
-                    builder.addEnvironment(env, new JMSTransportDescriptionFactory(singleCF, cfOnSender));
+                    builder.addEnvironment(env, new JMSTransportDescriptionFactory(singleCF, cfOnSender, 1));
                 }
             }
         }
@@ -72,6 +78,7 @@
         builder.addAxisAsyncTestClient(new AxisAsyncTestClient(), new JMSAxisTestClientConfigurator(JMSConstants.JMS_TEXT_MESSAGE));
         builder.addByteArrayAsyncTestClient(new JMSAsyncClient<byte[]>(JMSBytesMessageFactory.INSTANCE));
         builder.addStringAsyncTestClient(new JMSAsyncClient<String>(JMSTextMessageFactory.INSTANCE));
+        
         builder.addMapAsyncTestClient(new JMSAsyncClient<Map>(JMSMapMessageFactory.INSTANCE), new JMSAxisTestClientConfigurator(JMSConstants.JMS_MAP_MESSAGE));
 
         builder.addAxisAsyncEndpoint(new AxisAsyncEndpoint());
@@ -88,15 +95,15 @@
         builder.addAxisRequestResponseTestClient(new AxisRequestResponseTestClient(), timeoutConfigurator);
         builder.addStringRequestResponseTestClient(new JMSRequestResponseClient<String>(JMSTextMessageFactory.INSTANCE));
         builder.addMapRequestResponseTestClient(new JMSRequestResponseClient<Map>(JMSMapMessageFactory.INSTANCE));
-        
+
         builder.addEchoEndpoint(new MockEchoEndpoint());
         builder.addEchoEndpoint(new AxisEchoEndpoint());
-        
+
         for (JMSTestEnvironment env : new JMSTestEnvironment[] { new QpidTestEnvironment(), new ActiveMQTestEnvironment() }) {
             suite.addTest(new MinConcurrencyTest(new AsyncChannel[] {
                     new JMSAsyncChannel("endpoint1", JMSConstants.DESTINATION_TYPE_QUEUE, ContentTypeMode.TRANSPORT),
                     new JMSAsyncChannel("endpoint2", JMSConstants.DESTINATION_TYPE_QUEUE, ContentTypeMode.TRANSPORT) },
-                    2, false, env, new JMSTransportDescriptionFactory(false, false)));
+                    2, false, env, new JMSTransportDescriptionFactory(false, false, 2)));
         }
         
         

Modified: webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JNDIEnvironment.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JNDIEnvironment.java?rev=730924&r1=730923&r2=730924&view=diff
==============================================================================
--- webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JNDIEnvironment.java (original)
+++ webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/JNDIEnvironment.java Fri Jan  2 22:33:39 2009
@@ -1,45 +1,45 @@
-/*
- *  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.axis2.transport.jms;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-
-import org.apache.axis2.transport.testkit.tests.Setup;
-import org.apache.axis2.transport.testkit.tests.Transient;
-import org.mockejb.jndi.MockContextFactory;
-
-public class JNDIEnvironment {
-    public static final JNDIEnvironment INSTANCE = new JNDIEnvironment();
-    
-    private @Transient Context context;
-    
-    private JNDIEnvironment() {}
-    
-    @Setup @SuppressWarnings("unused")
-    private void setUp() throws Exception {
-        MockContextFactory.setAsInitial();
-        context = new InitialContext();
-    }
-    
-    public Context getContext() {
-        return context;
-    }
-}
+/*
+ *  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.axis2.transport.jms;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+
+import org.apache.axis2.transport.testkit.tests.Setup;
+import org.apache.axis2.transport.testkit.tests.Transient;
+import org.mockejb.jndi.MockContextFactory;
+
+public class JNDIEnvironment {
+    public static final JNDIEnvironment INSTANCE = new JNDIEnvironment();
+    
+    private @Transient Context context;
+    
+    private JNDIEnvironment() {}
+    
+    @Setup @SuppressWarnings("unused")
+    private void setUp() throws Exception {
+        MockContextFactory.setAsInitial();
+        context = new InitialContext();
+    }
+    
+    public Context getContext() {
+        return context;
+    }
+}

Modified: webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/MockEchoEndpoint.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/MockEchoEndpoint.java?rev=730924&r1=730923&r2=730924&view=diff
==============================================================================
--- webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/MockEchoEndpoint.java (original)
+++ webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/MockEchoEndpoint.java Fri Jan  2 22:33:39 2009
@@ -1,111 +1,111 @@
-/*
- *  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.axis2.transport.jms;
-
-import java.util.Enumeration;
-
-import javax.jms.BytesMessage;
-import javax.jms.Connection;
-import javax.jms.Destination;
-import javax.jms.ExceptionListener;
-import javax.jms.JMSException;
-import javax.jms.MapMessage;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageListener;
-import javax.jms.MessageProducer;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
-import org.apache.axis2.transport.base.BaseConstants;
-import org.apache.axis2.transport.testkit.endpoint.InOutEndpoint;
-import org.apache.axis2.transport.testkit.endpoint.InOutEndpointSupport;
-import org.apache.axis2.transport.testkit.name.Name;
-import org.apache.axis2.transport.testkit.tests.Setup;
-import org.apache.axis2.transport.testkit.tests.TearDown;
-import org.apache.axis2.transport.testkit.tests.Transient;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-@Name("mock")
-public class MockEchoEndpoint extends InOutEndpointSupport implements InOutEndpoint, ExceptionListener {
-    static Log log = LogFactory.getLog(MockEchoEndpoint.class);
-    
-    private @Transient Connection connection;
-    private @Transient Connection replyConnection;
-    
-    @Setup @SuppressWarnings("unused")
-    private void setUp(JMSTestEnvironment env, JMSRequestResponseChannel channel) throws Exception {
-        Destination destination = channel.getDestination();
-        Destination replyDestination = channel.getReplyDestination();
-        connection = env.getConnectionFactory().createConnection();
-        connection.setExceptionListener(this);
-        connection.start();
-        replyConnection = env.getConnectionFactory().createConnection();
-        replyConnection.setExceptionListener(this);
-        final Session replySession = replyConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        final MessageProducer producer = replySession.createProducer(replyDestination);
-        MessageConsumer consumer = connection.createSession(false, Session.AUTO_ACKNOWLEDGE).createConsumer(destination);
-        consumer.setMessageListener(new MessageListener() {
-            public void onMessage(Message message) {
-                try {
-                    log.info("Message received: ID = " + message.getJMSMessageID());
-                    Message reply;
-                    if (message instanceof BytesMessage) {
-                        reply = replySession.createBytesMessage();
-                        IOUtils.copy(new BytesMessageInputStream((BytesMessage)message), new BytesMessageOutputStream((BytesMessage)reply));
-                    } else if (message instanceof TextMessage) {
-                        reply = replySession.createTextMessage();
-                        ((TextMessage)reply).setText(((TextMessage)message).getText());
-                    } else if (message instanceof MapMessage) {
-                        reply = replySession.createMapMessage();
-                        MapMessage mapMessage = (MapMessage)message;
-                        for (Enumeration e = mapMessage.getMapNames() ; e.hasMoreElements() ;) {
-                            String key = (String) e.nextElement();
-                            Object value = mapMessage.getObject(key);
-                            ((MapMessage)reply).setObject(key, value);
-                        }
-                    } else {
-                        // TODO
-                        throw new UnsupportedOperationException("Unsupported message type");
-                    }
-                    reply.setJMSCorrelationID(message.getJMSMessageID());
-                    reply.setStringProperty(BaseConstants.CONTENT_TYPE, message.getStringProperty(BaseConstants.CONTENT_TYPE));
-                    producer.send(reply);
-                    log.info("Message sent: ID = " + reply.getJMSMessageID());
-                } catch (Throwable ex) {
-                    fireEndpointError(ex);
-                }
-            }
-        });
-    }
-    
-    @TearDown @SuppressWarnings("unused")
-    private void tearDown() throws Exception {
-        connection.close();
-        replyConnection.close();
-    }
-
-    public void onException(JMSException ex) {
-        log.error("Exception received by JMS exception listener", ex);
-        fireEndpointError(ex);
-    }
-}
+/*
+ *  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.axis2.transport.jms;
+
+import java.util.Enumeration;
+
+import javax.jms.BytesMessage;
+import javax.jms.Connection;
+import javax.jms.Destination;
+import javax.jms.ExceptionListener;
+import javax.jms.JMSException;
+import javax.jms.MapMessage;
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageListener;
+import javax.jms.MessageProducer;
+import javax.jms.Session;
+import javax.jms.TextMessage;
+
+import org.apache.axis2.transport.base.BaseConstants;
+import org.apache.axis2.transport.testkit.endpoint.InOutEndpoint;
+import org.apache.axis2.transport.testkit.endpoint.InOutEndpointSupport;
+import org.apache.axis2.transport.testkit.name.Name;
+import org.apache.axis2.transport.testkit.tests.Setup;
+import org.apache.axis2.transport.testkit.tests.TearDown;
+import org.apache.axis2.transport.testkit.tests.Transient;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+@Name("mock")
+public class MockEchoEndpoint extends InOutEndpointSupport implements InOutEndpoint, ExceptionListener {
+    static Log log = LogFactory.getLog(MockEchoEndpoint.class);
+    
+    private @Transient Connection connection;
+    private @Transient Connection replyConnection;
+    
+    @Setup @SuppressWarnings("unused")
+    private void setUp(JMSTestEnvironment env, JMSRequestResponseChannel channel) throws Exception {
+        Destination destination = channel.getDestination();
+        Destination replyDestination = channel.getReplyDestination();
+        connection = env.getConnectionFactory().createConnection();
+        connection.setExceptionListener(this);
+        connection.start();
+        replyConnection = env.getConnectionFactory().createConnection();
+        replyConnection.setExceptionListener(this);
+        final Session replySession = replyConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+        final MessageProducer producer = replySession.createProducer(replyDestination);
+        MessageConsumer consumer = connection.createSession(false, Session.AUTO_ACKNOWLEDGE).createConsumer(destination);
+        consumer.setMessageListener(new MessageListener() {
+            public void onMessage(Message message) {
+                try {
+                    log.info("Message received: ID = " + message.getJMSMessageID());
+                    Message reply;
+                    if (message instanceof BytesMessage) {
+                        reply = replySession.createBytesMessage();
+                        IOUtils.copy(new BytesMessageInputStream((BytesMessage)message), new BytesMessageOutputStream((BytesMessage)reply));
+                    } else if (message instanceof TextMessage) {
+                        reply = replySession.createTextMessage();
+                        ((TextMessage)reply).setText(((TextMessage)message).getText());
+                    } else if (message instanceof MapMessage) {
+                        reply = replySession.createMapMessage();
+                        MapMessage mapMessage = (MapMessage)message;
+                        for (Enumeration e = mapMessage.getMapNames() ; e.hasMoreElements() ;) {
+                            String key = (String) e.nextElement();
+                            Object value = mapMessage.getObject(key);
+                            ((MapMessage)reply).setObject(key, value);
+                        }
+                    } else {
+                        // TODO
+                        throw new UnsupportedOperationException("Unsupported message type");
+                    }
+                    reply.setJMSCorrelationID(message.getJMSMessageID());
+                    reply.setStringProperty(BaseConstants.CONTENT_TYPE, message.getStringProperty(BaseConstants.CONTENT_TYPE));
+                    producer.send(reply);
+                    log.info("Message sent: ID = " + reply.getJMSMessageID());
+                } catch (Throwable ex) {
+                    fireEndpointError(ex);
+                }
+            }
+        });
+    }
+    
+    @TearDown @SuppressWarnings("unused")
+    private void tearDown() throws Exception {
+        connection.close();
+        replyConnection.close();
+    }
+
+    public void onException(JMSException ex) {
+        log.error("Exception received by JMS exception listener", ex);
+        fireEndpointError(ex);
+    }
+}

Modified: webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/QpidTestEnvironment.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/QpidTestEnvironment.java?rev=730924&r1=730923&r2=730924&view=diff
==============================================================================
--- webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/QpidTestEnvironment.java (original)
+++ webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/QpidTestEnvironment.java Fri Jan  2 22:33:39 2009
@@ -1,77 +1,77 @@
-/*
- *  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.axis2.transport.jms;
-
-import javax.jms.Destination;
-import javax.jms.Queue;
-import javax.jms.Topic;
-
-import org.apache.axis2.transport.testkit.name.Name;
-import org.apache.axis2.transport.testkit.tests.Setup;
-import org.apache.axis2.transport.testkit.tests.TearDown;
-import org.apache.qpid.AMQException;
-import org.apache.qpid.client.AMQConnectionFactory;
-import org.apache.qpid.client.AMQDestination;
-import org.apache.qpid.client.AMQQueue;
-import org.apache.qpid.client.AMQTopic;
-import org.apache.qpid.client.transport.TransportConnection;
-import org.apache.qpid.exchange.ExchangeDefaults;
-import org.apache.qpid.framing.AMQShortString;
-import org.apache.qpid.server.registry.ApplicationRegistry;
-import org.apache.qpid.server.virtualhost.VirtualHost;
-
-@Name("qpid")
-public class QpidTestEnvironment extends JMSTestEnvironment {
-    private VirtualHost virtualHost;
-    
-    @Setup @SuppressWarnings("unused")
-    private void setUp() throws Exception {
-        TransportConnection.createVMBroker(1);
-        // null means the default virtual host
-        virtualHost = ApplicationRegistry.getInstance(1).getVirtualHostRegistry().getVirtualHost(null);
-    }
-
-    @TearDown @SuppressWarnings("unused")
-    private void tearDown() throws Exception {
-        TransportConnection.killVMBroker(1);
-    }
-
-    @Override
-    protected AMQConnectionFactory createConnectionFactory() throws Exception {
-        return new AMQConnectionFactory("vm://:1", "guest", "guest", "fred", "test");
-    }
-
-    @Override
-    public Queue createQueue(String name) throws AMQException {
-        QpidUtil.createQueue(virtualHost, ExchangeDefaults.DIRECT_EXCHANGE_NAME, name);
-        return new AMQQueue(ExchangeDefaults.DIRECT_EXCHANGE_NAME, name);
-    }
-
-    @Override
-    public Topic createTopic(String name) throws AMQException {
-        QpidUtil.createQueue(virtualHost, ExchangeDefaults.TOPIC_EXCHANGE_NAME, name);
-        return new AMQTopic(ExchangeDefaults.TOPIC_EXCHANGE_NAME, name);
-    }
-
-    @Override
-    public void deleteDestination(Destination destination) throws Exception {
-        QpidUtil.deleteQueue(virtualHost, ((AMQDestination)destination).getDestinationName().asString());
-    }
-}
+/*
+ *  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.axis2.transport.jms;
+
+import javax.jms.Destination;
+import javax.jms.Queue;
+import javax.jms.Topic;
+
+import org.apache.axis2.transport.testkit.name.Name;
+import org.apache.axis2.transport.testkit.tests.Setup;
+import org.apache.axis2.transport.testkit.tests.TearDown;
+import org.apache.qpid.AMQException;
+import org.apache.qpid.client.AMQConnectionFactory;
+import org.apache.qpid.client.AMQDestination;
+import org.apache.qpid.client.AMQQueue;
+import org.apache.qpid.client.AMQTopic;
+import org.apache.qpid.client.transport.TransportConnection;
+import org.apache.qpid.exchange.ExchangeDefaults;
+import org.apache.qpid.framing.AMQShortString;
+import org.apache.qpid.server.registry.ApplicationRegistry;
+import org.apache.qpid.server.virtualhost.VirtualHost;
+
+@Name("qpid")
+public class QpidTestEnvironment extends JMSTestEnvironment {
+    private VirtualHost virtualHost;
+    
+    @Setup @SuppressWarnings("unused")
+    private void setUp() throws Exception {
+        TransportConnection.createVMBroker(1);
+        // null means the default virtual host
+        virtualHost = ApplicationRegistry.getInstance(1).getVirtualHostRegistry().getVirtualHost(null);
+    }
+
+    @TearDown @SuppressWarnings("unused")
+    private void tearDown() throws Exception {
+        TransportConnection.killVMBroker(1);
+    }
+
+    @Override
+    protected AMQConnectionFactory createConnectionFactory() throws Exception {
+        return new AMQConnectionFactory("vm://:1", "guest", "guest", "fred", "test");
+    }
+
+    @Override
+    public Queue createQueue(String name) throws AMQException {
+        QpidUtil.createQueue(virtualHost, ExchangeDefaults.DIRECT_EXCHANGE_NAME, name);
+        return new AMQQueue(ExchangeDefaults.DIRECT_EXCHANGE_NAME, name);
+    }
+
+    @Override
+    public Topic createTopic(String name) throws AMQException {
+        QpidUtil.createQueue(virtualHost, ExchangeDefaults.TOPIC_EXCHANGE_NAME, name);
+        return new AMQTopic(ExchangeDefaults.TOPIC_EXCHANGE_NAME, name);
+    }
+
+    @Override
+    public void deleteDestination(Destination destination) throws Exception {
+        QpidUtil.deleteQueue(virtualHost, ((AMQDestination)destination).getDestinationName().asString());
+    }
+}

Modified: webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/mail/GreenMailTestEnvironment.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/mail/GreenMailTestEnvironment.java?rev=730924&r1=730923&r2=730924&view=diff
==============================================================================
--- webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/mail/GreenMailTestEnvironment.java (original)
+++ webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/mail/GreenMailTestEnvironment.java Fri Jan  2 22:33:39 2009
@@ -1,154 +1,146 @@
-/*
- *  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.axis2.transport.mail;
-
-import java.io.OutputStream;
-import java.net.InetSocketAddress;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import javax.mail.Flags;
-
-import org.apache.axis2.transport.testkit.name.Key;
-import org.apache.axis2.transport.testkit.name.Name;
-import org.apache.axis2.transport.testkit.tests.Setup;
-import org.apache.axis2.transport.testkit.tests.TearDown;
-import org.apache.axis2.transport.testkit.tests.Transient;
-import org.apache.axis2.transport.testkit.util.LogManager;
-import org.apache.axis2.transport.testkit.util.ServerUtil;
-import org.apache.axis2.transport.testkit.util.tcpmon.Tunnel;
-
-import com.icegreen.greenmail.store.FolderListener;
-import com.icegreen.greenmail.store.MailFolder;
-import com.icegreen.greenmail.store.StoredMessage;
-import com.icegreen.greenmail.user.GreenMailUser;
-import com.icegreen.greenmail.util.GreenMail;
-import com.icegreen.greenmail.util.ServerSetup;
-
-@Name("greenmail")
-public class GreenMailTestEnvironment extends MailTestEnvironment {
-    private static final ServerSetup SMTP =
-            new ServerSetup(7025, "127.0.0.1", ServerSetup.PROTOCOL_SMTP);
-    
-    private static final ServerSetup POP3 =
-            new ServerSetup(7110, "127.0.0.1", ServerSetup.PROTOCOL_POP3);
-    
-    private static final ServerSetup IMAP =
-            new ServerSetup(7143, "127.0.0.1", ServerSetup.PROTOCOL_IMAP);
-    
-    private final String protocol;
-    private final ServerSetup storeServerSetup;
-    private @Transient LogManager logManager;
-    private @Transient GreenMail greenMail;
-    private @Transient Tunnel smtpTunnel;
-    private int accountNumber;
-    private @Transient List<Account> unallocatedAccounts;
-
-    public GreenMailTestEnvironment(String protocol) {
-        this.protocol = protocol;
-        if (protocol.equals("pop3")) {
-            storeServerSetup = POP3;
-        } else if (protocol.equals("imap")) {
-            storeServerSetup = IMAP;
-        } else {
-            throw new IllegalArgumentException();
-        }
-    }
-
-    @Setup @SuppressWarnings("unused")
-    private void setUp(LogManager logManager) throws Exception {
-        this.logManager = logManager;
-        greenMail = new GreenMail(new ServerSetup[] { SMTP, storeServerSetup });
-        greenMail.start();
-        smtpTunnel = new Tunnel(new InetSocketAddress("127.0.0.1", 7025));
-        smtpTunnel.start();
-        unallocatedAccounts = new LinkedList<Account>();
-        ServerUtil.waitForServer(SMTP.getPort());
-        ServerUtil.waitForServer(storeServerSetup.getPort());
-    }
-
-    @TearDown @SuppressWarnings("unused")
-    private void tearDown() throws Exception {
-        greenMail.stop();
-        accountNumber = 1;
-    }
-    
-    @Override
-    @Key("protocol")
-    public String getProtocol() {
-        return protocol;
-    }
-    
-    @Override
-    public Account allocateAccount() throws Exception {
-        if (unallocatedAccounts.isEmpty()) {
-            String login = "test" + accountNumber++;
-            GreenMailUser user = greenMail.setUser(login + "@localhost", login, "password");
-            final MailFolder inbox = greenMail.getManagers().getImapHostManager().getInbox(user);
-            inbox.addListener(new FolderListener() {
-                public void added(int msn) {
-                    StoredMessage storedMessage = (StoredMessage)inbox.getMessages().get(msn-1);
-                    try {
-                        OutputStream out = logManager.createLog("greenmail");
-                        try {
-                            storedMessage.getMimeMessage().writeTo(out);
-                        } finally {
-                            out.close();
-                        }
-                    } catch (Exception ex) {
-                        ex.printStackTrace();
-                    }
-                }
-
-                public void expunged(int msn) {}
-                public void flagsUpdated(int msn, Flags flags, Long uid) {}
-                public void mailboxDeleted() {}
-            });
-            return new Account(user.getEmail(), user.getLogin(), user.getPassword());
-        } else {
-            return unallocatedAccounts.remove(0);
-        }
-    }
-
-    @Override
-    public void freeAccount(Account account) {
-        unallocatedAccounts.add(account);
-    }
-
-    @Override
-    public Map<String,String> getInProperties(Account account) {
-        Map<String,String> props = new HashMap<String,String>();
-        props.put("mail." + protocol + ".host", "localhost");
-        props.put("mail." + protocol + ".port", String.valueOf(storeServerSetup.getPort()));
-        props.put("mail." + protocol + ".user", account.getLogin());
-        props.put("mail." + protocol + ".password", account.getPassword());
-        return props;
-    }
-    
-    @Override
-    public Map<String,String> getOutProperties() {
-        Map<String,String> props = new HashMap<String,String>();
-        props.put("mail.smtp.host", "localhost");
-        props.put("mail.smtp.port", String.valueOf(smtpTunnel.getPort()));
-        return props;
-    }
-}
+/*
+ *  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.axis2.transport.mail;
+
+import java.io.OutputStream;
+import java.net.InetSocketAddress;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import javax.mail.Flags;
+
+import org.apache.axis2.transport.testkit.name.Key;
+import org.apache.axis2.transport.testkit.name.Name;
+import org.apache.axis2.transport.testkit.tests.Setup;
+import org.apache.axis2.transport.testkit.tests.TearDown;
+import org.apache.axis2.transport.testkit.tests.Transient;
+import org.apache.axis2.transport.testkit.util.LogManager;
+import org.apache.axis2.transport.testkit.util.PortAllocator;
+import org.apache.axis2.transport.testkit.util.ServerUtil;
+import org.apache.axis2.transport.testkit.util.tcpmon.Tunnel;
+
+import com.icegreen.greenmail.store.FolderListener;
+import com.icegreen.greenmail.store.MailFolder;
+import com.icegreen.greenmail.store.StoredMessage;
+import com.icegreen.greenmail.user.GreenMailUser;
+import com.icegreen.greenmail.util.GreenMail;
+import com.icegreen.greenmail.util.ServerSetup;
+
+@Name("greenmail")
+public class GreenMailTestEnvironment extends MailTestEnvironment {
+    private final String protocol;
+    private @Transient PortAllocator portAllocator;
+    private @Transient ServerSetup smtpServerSetup;
+    private @Transient ServerSetup storeServerSetup;
+    private @Transient LogManager logManager;
+    private @Transient GreenMail greenMail;
+    private @Transient Tunnel smtpTunnel;
+    private int accountNumber;
+    private @Transient List<Account> unallocatedAccounts;
+
+    public GreenMailTestEnvironment(String protocol) {
+        this.protocol = protocol;
+    }
+
+    @Setup @SuppressWarnings("unused")
+    private void setUp(LogManager logManager, PortAllocator portAllocator) throws Exception {
+        this.logManager = logManager;
+        this.portAllocator = portAllocator;
+        smtpServerSetup = new ServerSetup(portAllocator.allocatePort(), "127.0.0.1", ServerSetup.PROTOCOL_SMTP);
+        storeServerSetup = new ServerSetup(portAllocator.allocatePort(), "127.0.0.1", protocol);
+        greenMail = new GreenMail(new ServerSetup[] { smtpServerSetup, storeServerSetup });
+        greenMail.start();
+        smtpTunnel = new Tunnel(new InetSocketAddress("127.0.0.1", smtpServerSetup.getPort()));
+        smtpTunnel.start();
+        unallocatedAccounts = new LinkedList<Account>();
+        ServerUtil.waitForServer(smtpServerSetup.getPort());
+        ServerUtil.waitForServer(storeServerSetup.getPort());
+    }
+
+    @TearDown @SuppressWarnings("unused")
+    private void tearDown() throws Exception {
+        greenMail.stop();
+        accountNumber = 1;
+        portAllocator.releasePort(smtpServerSetup.getPort());
+        portAllocator.releasePort(storeServerSetup.getPort());
+    }
+    
+    @Override
+    @Key("protocol")
+    public String getProtocol() {
+        return protocol;
+    }
+    
+    @Override
+    public Account allocateAccount() throws Exception {
+        if (unallocatedAccounts.isEmpty()) {
+            String login = "test" + accountNumber++;
+            GreenMailUser user = greenMail.setUser(login + "@localhost", login, "password");
+            final MailFolder inbox = greenMail.getManagers().getImapHostManager().getInbox(user);
+            inbox.addListener(new FolderListener() {
+                public void added(int msn) {
+                    StoredMessage storedMessage = (StoredMessage)inbox.getMessages().get(msn-1);
+                    try {
+                        OutputStream out = logManager.createLog("greenmail");
+                        try {
+                            storedMessage.getMimeMessage().writeTo(out);
+                        } finally {
+                            out.close();
+                        }
+                    } catch (Exception ex) {
+                        ex.printStackTrace();
+                    }
+                }
+
+                public void expunged(int msn) {}
+                public void flagsUpdated(int msn, Flags flags, Long uid) {}
+                public void mailboxDeleted() {}
+            });
+            return new Account(user.getEmail(), user.getLogin(), user.getPassword());
+        } else {
+            return unallocatedAccounts.remove(0);
+        }
+    }
+
+    @Override
+    public void freeAccount(Account account) {
+        unallocatedAccounts.add(account);
+    }
+
+    @Override
+    public Map<String,String> getInProperties(Account account) {
+        Map<String,String> props = new HashMap<String,String>();
+        props.put("mail." + protocol + ".host", "localhost");
+        props.put("mail." + protocol + ".port", String.valueOf(storeServerSetup.getPort()));
+        props.put("mail." + protocol + ".user", account.getLogin());
+        props.put("mail." + protocol + ".password", account.getPassword());
+        return props;
+    }
+    
+    @Override
+    public Map<String,String> getOutProperties() {
+        Map<String,String> props = new HashMap<String,String>();
+        props.put("mail.smtp.host", "localhost");
+        props.put("mail.smtp.port", String.valueOf(smtpTunnel.getPort()));
+        return props;
+    }
+}

Modified: webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/mail/MailAxisTestClientConfigurator.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/mail/MailAxisTestClientConfigurator.java?rev=730924&r1=730923&r2=730924&view=diff
==============================================================================
--- webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/mail/MailAxisTestClientConfigurator.java (original)
+++ webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/mail/MailAxisTestClientConfigurator.java Fri Jan  2 22:33:39 2009
@@ -1,42 +1,42 @@
-/*
- *  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.axis2.transport.mail;
-
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.transport.testkit.axis2.client.AxisTestClientConfigurator;
-import org.apache.axis2.transport.testkit.name.Key;
-
-public class MailAxisTestClientConfigurator implements AxisTestClientConfigurator {
-    private final String transportFormat;
-    
-    public MailAxisTestClientConfigurator(String transportFormat) {
-        this.transportFormat = transportFormat;
-    }
-
-    @Key("layout")
-    public String getTransportFormat() {
-        return MailConstants.TRANSPORT_FORMAT_MP.equals(transportFormat) ? "multipart" : "flat";
-    }
-
-    public void setupRequestMessageContext(MessageContext msgContext) throws AxisFault {
-        msgContext.setProperty(MailConstants.TRANSPORT_MAIL_FORMAT, transportFormat);
-    }
-}
+/*
+ *  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.axis2.transport.mail;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.transport.testkit.axis2.client.AxisTestClientConfigurator;
+import org.apache.axis2.transport.testkit.name.Key;
+
+public class MailAxisTestClientConfigurator implements AxisTestClientConfigurator {
+    private final String transportFormat;
+    
+    public MailAxisTestClientConfigurator(String transportFormat) {
+        this.transportFormat = transportFormat;
+    }
+
+    @Key("layout")
+    public String getTransportFormat() {
+        return MailConstants.TRANSPORT_FORMAT_MP.equals(transportFormat) ? "multipart" : "flat";
+    }
+
+    public void setupRequestMessageContext(MessageContext msgContext) throws AxisFault {
+        msgContext.setProperty(MailConstants.TRANSPORT_MAIL_FORMAT, transportFormat);
+    }
+}