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>
