Repository: karaf
Updated Branches:
  refs/heads/master f7ee506e8 -> 026132e73


[KARAF-3430] Fix ActiveMQ PooledConnectionFactory import issue and improve 
itests coverage


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/026132e7
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/026132e7
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/026132e7

Branch: refs/heads/master
Commit: 026132e73e9dc4b2422d163ad2936a7174c56ffa
Parents: f7ee506
Author: Jean-Baptiste Onofré <[email protected]>
Authored: Fri Jan 2 15:17:10 2015 +0100
Committer: Jean-Baptiste Onofré <[email protected]>
Committed: Fri Jan 2 15:17:10 2015 +0100

----------------------------------------------------------------------
 .../java/org/apache/karaf/itests/JmsTest.java   | 71 +++++++++++++++++++-
 jms/pom.xml                                     |  1 +
 2 files changed, 70 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/026132e7/itests/src/test/java/org/apache/karaf/itests/JmsTest.java
----------------------------------------------------------------------
diff --git a/itests/src/test/java/org/apache/karaf/itests/JmsTest.java 
b/itests/src/test/java/org/apache/karaf/itests/JmsTest.java
index 54ad643..e2ef126 100644
--- a/itests/src/test/java/org/apache/karaf/itests/JmsTest.java
+++ b/itests/src/test/java/org/apache/karaf/itests/JmsTest.java
@@ -20,7 +20,14 @@ import org.ops4j.pax.exam.junit.PaxExam;
 import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
 import org.ops4j.pax.exam.spi.reactors.PerClass;
 
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertEquals;
+
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
 import java.net.URI;
+import java.util.List;
 
 @RunWith(PaxExam.class)
 @ExamReactorStrategy(PerClass.class)
@@ -33,20 +40,80 @@ public class JmsTest extends KarafTestSupport {
         installAndAssertFeature("activemq-broker-noweb");
     }
 
-
     @Test
-    public void createActiveMQConnectionFactoryTest() throws Exception {
+    public void testCommands() throws Exception {
+        // jms:create command
         System.out.println(executeCommand("jms:create -t ActiveMQ -u karaf -p 
karaf --url tcp://localhost:61616 test"));
         // give time to fileinstall to load the blueprint file
         Thread.sleep(5000);
+        // jms:connectionfactories command
+        String connectionFactories = executeCommand("jms:connectionfactories");
+        System.out.println(connectionFactories);
+        assertContains("jms/test", connectionFactories);
+        // jms:info command
         String info = executeCommand("jms:info test");
         System.out.println(info);
         assertContains("ActiveMQ", info);
         assertContains("5.10.0", info);
+        // jms:send command
         System.out.println(executeCommand("jms:send test queue message"));
+        // jms:count command
+        String count = executeCommand("jms:count test queue");
+        System.out.println(count);
+        assertContains("1", count);
+        // jms:consume command
         String consumed = executeCommand("jms:consume test queue");
         System.out.println(consumed);
         assertContains("1 message", consumed);
+        // jms:send & jms:move commands
+        System.out.print(executeCommand("jms:send test queue message"));
+        String move = executeCommand("jms:move test queue other");
+        System.out.println(move);
+        assertContains("1 message", move);
+        // jms:queues command
+        String queues = executeCommand("jms:queues test");
+        System.out.println(queues);
+        assertContains("queue", queues);
+        assertContains("other", queues);
+        // jms:browse command
+        String browse = executeCommand("jms:browse test other");
+        System.out.println(browse);
+        assertContains("message", browse);
+        assertContains("queue://other", browse);
+        // jms:consume command
+        System.out.println(executeCommand("jms:consume test other"));
+        // jms:delete command
+        System.out.println(executeCommand("jms:delete test"));
+        // jms:connectionfactories command
+        connectionFactories = executeCommand("jms:connectionfactories");
+        System.out.println(connectionFactories);
+    }
+
+    @Test
+    public void testMBean() throws Exception {
+        JMXConnector connector = null;
+        try {
+            connector = this.getJMXConnector();
+            MBeanServerConnection connection = 
connector.getMBeanServerConnection();
+            ObjectName name = new 
ObjectName("org.apache.karaf:type=jms,name=root");
+            // create operation
+            connection.invoke(name, "create", new String[]{ "testMBean", 
"activemq", "tcp://localhost:61616", "karaf", "karaf" }, new String[]{ 
"java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", 
"java.lang.String" });
+            Thread.sleep(5000);
+            List<String> connectionFactories = (List<String>) 
connection.getAttribute(name, "Connectionfactories");
+            assertEquals(true, connectionFactories.size() >= 1);
+            // send operation
+            connection.invoke(name, "send", new String[]{ "testMBean", 
"queueMBean", "message", null, "karaf", "karaf" }, new String[]{ 
"java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", 
"java.lang.String", "java.lang.String"});
+            // count operation
+            Integer count = (Integer) connection.invoke(name, "count", new 
String[]{ "testMBean", "queueMBean", "karaf", "karaf" }, new String[]{ 
"java.lang.String", "java.lang.String", "java.lang.String", 
"java.lang.String"});
+            assertEquals(1, count.intValue());
+            // queues operation
+            List<String> queues = (List<String>) connection.invoke(name, 
"queues", new String[]{ "testMBean", "karaf", "karaf" }, new String[]{ 
"java.lang.String", "java.lang.String", "java.lang.String"});
+            assertTrue(queues.size() >= 1);
+            // delete operation
+            connection.invoke(name, "delete", new String[]{ "testMBean" }, new 
String[]{ "java.lang.String" });
+        } finally {
+            close(connector);
+        }
     }
 
 }

http://git-wip-us.apache.org/repos/asf/karaf/blob/026132e7/jms/pom.xml
----------------------------------------------------------------------
diff --git a/jms/pom.xml b/jms/pom.xml
index c7cd769..c1719db 100644
--- a/jms/pom.xml
+++ b/jms/pom.xml
@@ -101,6 +101,7 @@
                             org.apache.karaf.jms.internal,
                             org.apache.karaf.util
                         </Private-Package>
+                        <DynamicImport-Package>*</DynamicImport-Package>
                         <Karaf-Commands>*</Karaf-Commands>
                     </instructions>
                 </configuration>

Reply via email to