activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chir...@apache.org
Subject svn commit: r1394300 - in /activemq/trunk/activemq-amqp: ./ src/test/java/org/apache/activemq/transport/amqp/ src/test/java/org/apache/activemq/transport/amqp/joram/ src/test/resources/
Date Thu, 04 Oct 2012 22:25:16 GMT
Author: chirino
Date: Thu Oct  4 22:25:15 2012
New Revision: 1394300

URL: http://svn.apache.org/viewvc?rev=1394300&view=rev
Log:
Lets validate the Qpid JMS client <- AMQP 1.0 -> ActiveMQ impl using the Joram compliance
suite.  (Still not working).

Added:
    activemq/trunk/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/joram/
    activemq/trunk/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/joram/ActiveMQAdmin.java
    activemq/trunk/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/joram/JoramJmsTest.java
    activemq/trunk/activemq-amqp/src/test/resources/provider.properties
Modified:
    activemq/trunk/activemq-amqp/pom.xml
    activemq/trunk/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JMSClientTest.java

Modified: activemq/trunk/activemq-amqp/pom.xml
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-amqp/pom.xml?rev=1394300&r1=1394299&r2=1394300&view=diff
==============================================================================
--- activemq/trunk/activemq-amqp/pom.xml (original)
+++ activemq/trunk/activemq-amqp/pom.xml Thu Oct  4 22:25:15 2012
@@ -59,6 +59,20 @@
       <scope>test</scope>
     </dependency>
 
+    <!--  Joram JMS conformance tests -->
+    <dependency>
+      <groupId>org.fusesource.joram-jms-tests</groupId>
+      <artifactId>joram-jms-tests</artifactId>
+      <version>1.0</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <!-- using it for Jetty's JNDI context to work /w Joram tests. -->
+      <groupId>org.eclipse.jetty.aggregate</groupId>
+      <artifactId>jetty-all-server</artifactId>
+      <scope>test</scope>
+    </dependency>
+
     <dependency>
       <groupId>org.apache.activemq</groupId>
       <artifactId>activemq-core</artifactId>

Modified: activemq/trunk/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JMSClientTest.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JMSClientTest.java?rev=1394300&r1=1394299&r2=1394300&view=diff
==============================================================================
--- activemq/trunk/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JMSClientTest.java
(original)
+++ activemq/trunk/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JMSClientTest.java
Thu Oct  4 22:25:15 2012
@@ -32,7 +32,7 @@ public class JMSClientTest extends AmqpT
     @Test
     public void testSendReceive() throws Exception {
 
-        QueueImpl queue = new QueueImpl("BURL:direct://amq.direct//test");
+        QueueImpl queue = new QueueImpl("queue://testqueue");
         int nMsgs = 100;
         final String dataFormat = "%01024d";
 

Added: activemq/trunk/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/joram/ActiveMQAdmin.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/joram/ActiveMQAdmin.java?rev=1394300&view=auto
==============================================================================
--- activemq/trunk/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/joram/ActiveMQAdmin.java
(added)
+++ activemq/trunk/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/joram/ActiveMQAdmin.java
Thu Oct  4 22:25:15 2012
@@ -0,0 +1,153 @@
+/**
+ * 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.activemq.transport.amqp.joram;
+
+import org.apache.activemq.broker.BrokerFactory;
+import org.apache.activemq.broker.BrokerService;
+import org.apache.activemq.broker.TransportConnector;
+import org.objectweb.jtests.jms.admin.Admin;
+import org.apache.qpid.amqp_1_0.jms.impl.ConnectionFactoryImpl;
+import org.apache.qpid.amqp_1_0.jms.impl.QueueImpl;
+import org.apache.qpid.amqp_1_0.jms.impl.TopicImpl;
+
+import javax.jms.ConnectionFactory;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import java.io.File;
+import java.net.URI;
+import java.util.Hashtable;
+
+/**
+ *
+ * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
+ */
+public class ActiveMQAdmin implements Admin {
+
+    Context context;
+    {
+        try {
+            // Use the jetty JNDI context since it's mutable.
+            final Hashtable<String, String> env = new Hashtable<String, String>();
+            env.put("java.naming.factory.initial", "org.eclipse.jetty.jndi.InitialContextFactory");
+            env.put("java.naming.factory.url.pkgs", "org.eclipse.jetty.jndi");;
+            context = new InitialContext(env);
+        } catch (NamingException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    protected BrokerService createBroker() throws Exception {
+        return BrokerFactory.createBroker(new URI("broker://()/localhost?persistent=false"));
+    }
+
+    public String getName() {
+        return getClass().getName();
+    }
+
+    BrokerService broker;
+    int port;
+
+    public void startServer() throws Exception {
+        if (System.getProperty("basedir") == null) {
+            File file = new File(".");
+            System.setProperty("basedir", file.getAbsolutePath());
+        }
+        broker = createBroker();
+        broker.start();
+        final TransportConnector connector = broker.addConnector("amqp://localhost:0");
+        port = connector.getConnectUri().getPort();
+    }
+
+    public void stopServer() throws Exception {
+        broker.stop();
+    }
+
+    public void start() throws Exception {
+    }
+
+    public void stop() throws Exception {
+    }
+
+    public Context createContext() throws NamingException {
+        return context;
+    }
+
+    public void createQueue(String name) {
+        try {
+            context.bind(name, new QueueImpl("queue://"+name));
+        } catch (NamingException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public void createTopic(String name) {
+        try {
+            context.bind(name, new TopicImpl("topic://"+name));
+        } catch (NamingException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public void deleteQueue(String name) {
+        // BrokerTestSupport.delete_queue((Broker)base.broker, name);
+        try {
+            context.unbind(name);
+        } catch (NamingException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public void deleteTopic(String name) {
+        try {
+            context.unbind(name);
+        } catch (NamingException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public void createConnectionFactory(String name) {
+        try {
+            final ConnectionFactory factory = new ConnectionFactoryImpl("localhost", port,
null, null);
+            context.bind(name, factory);
+        } catch (NamingException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public void deleteConnectionFactory(String name) {
+        try {
+            context.unbind(name);
+        } catch (NamingException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public void createQueueConnectionFactory(String name) {
+        createConnectionFactory(name);
+    }
+    public void createTopicConnectionFactory(String name) {
+        createConnectionFactory(name);
+    }
+    public void deleteQueueConnectionFactory(String name) {
+        deleteConnectionFactory(name);
+    }
+    public void deleteTopicConnectionFactory(String name) {
+        deleteConnectionFactory(name);
+    }
+
+}

Added: activemq/trunk/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/joram/JoramJmsTest.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/joram/JoramJmsTest.java?rev=1394300&view=auto
==============================================================================
--- activemq/trunk/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/joram/JoramJmsTest.java
(added)
+++ activemq/trunk/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/joram/JoramJmsTest.java
Thu Oct  4 22:25:15 2012
@@ -0,0 +1,74 @@
+/**
+ * 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.activemq.transport.amqp.joram;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import org.objectweb.jtests.jms.conform.connection.ConnectionTest;
+import org.objectweb.jtests.jms.conform.connection.TopicConnectionTest;
+import org.objectweb.jtests.jms.conform.message.MessageBodyTest;
+import org.objectweb.jtests.jms.conform.message.MessageDefaultTest;
+import org.objectweb.jtests.jms.conform.message.MessageTypeTest;
+import org.objectweb.jtests.jms.conform.message.headers.MessageHeaderTest;
+import org.objectweb.jtests.jms.conform.message.properties.JMSXPropertyTest;
+import org.objectweb.jtests.jms.conform.message.properties.MessagePropertyConversionTest;
+import org.objectweb.jtests.jms.conform.message.properties.MessagePropertyTest;
+import org.objectweb.jtests.jms.conform.queue.QueueBrowserTest;
+import org.objectweb.jtests.jms.conform.queue.TemporaryQueueTest;
+import org.objectweb.jtests.jms.conform.selector.SelectorSyntaxTest;
+import org.objectweb.jtests.jms.conform.selector.SelectorTest;
+import org.objectweb.jtests.jms.conform.session.QueueSessionTest;
+import org.objectweb.jtests.jms.conform.session.SessionTest;
+import org.objectweb.jtests.jms.conform.session.TopicSessionTest;
+import org.objectweb.jtests.jms.conform.session.UnifiedSessionTest;
+import org.objectweb.jtests.jms.conform.topic.TemporaryTopicTest;
+
+/**
+ * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
+ */
+public class JoramJmsTest extends TestCase {
+
+    public static Test suite() {
+        TestSuite suite = new TestSuite();
+// TODO: figure out why the following tests are failing..
+//        suite.addTestSuite(ConnectionTest.class);
+//        suite.addTestSuite(TopicConnectionTest.class);
+//        suite.addTestSuite(MessageHeaderTest.class);
+//        suite.addTestSuite(MessageBodyTest.class);
+//        suite.addTestSuite(MessageDefaultTest.class);
+//        suite.addTestSuite(MessageTypeTest.class);
+//        suite.addTestSuite(JMSXPropertyTest.class);
+//        suite.addTestSuite(MessagePropertyConversionTest.class);
+//        suite.addTestSuite(TemporaryQueueTest.class);
+//        suite.addTestSuite(SelectorSyntaxTest.class);
+//        suite.addTestSuite(QueueSessionTest.class);
+//        suite.addTestSuite(SessionTest.class);
+//        suite.addTestSuite(TopicSessionTest.class);
+//        suite.addTestSuite(TemporaryTopicTest.class);
+//        suite.addTestSuite(UnifiedSessionTest.class);
+//        suite.addTestSuite(QueueBrowserTest.class);
+//        suite.addTestSuite(MessagePropertyTest.class);
+//        suite.addTestSuite(SelectorTest.class);
+        return suite;
+    }
+
+    public static void main(String[] args) {
+        junit.textui.TestRunner.run(suite());
+    }
+
+}

Added: activemq/trunk/activemq-amqp/src/test/resources/provider.properties
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-amqp/src/test/resources/provider.properties?rev=1394300&view=auto
==============================================================================
--- activemq/trunk/activemq-amqp/src/test/resources/provider.properties (added)
+++ activemq/trunk/activemq-amqp/src/test/resources/provider.properties Thu Oct  4 22:25:15
2012
@@ -0,0 +1,20 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+# This config file is used by the joram jms tests.
+#
+jms.provider.admin.class=org.apache.activemq.transport.amqp.joram.ActiveMQAdmin
\ No newline at end of file



Mime
View raw message