You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jb...@apache.org on 2020/03/16 14:26:16 UTC

[activemq-artemis] branch master updated: NO-JIRA some tests for auto-create & FQQN w/JMS

This is an automated email from the ASF dual-hosted git repository.

jbertram pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git


The following commit(s) were added to refs/heads/master by this push:
     new 31f00fd  NO-JIRA some tests for auto-create & FQQN w/JMS
31f00fd is described below

commit 31f00fda362d91f1b0050f2610a14455783d1fe6
Author: Justin Bertram <jb...@apache.org>
AuthorDate: Fri Mar 13 15:17:29 2020 -0500

    NO-JIRA some tests for auto-create & FQQN w/JMS
---
 .../client/AutoCreateJmsDestinationTest.java       | 90 ++++++++++++++++++++++
 1 file changed, 90 insertions(+)

diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoCreateJmsDestinationTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoCreateJmsDestinationTest.java
index 1eafdb4..e5bd199 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoCreateJmsDestinationTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/AutoCreateJmsDestinationTest.java
@@ -49,7 +49,9 @@ import org.apache.activemq.artemis.jms.client.ActiveMQTopic;
 import org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager;
 import org.apache.activemq.artemis.tests.integration.IntegrationTestLogger;
 import org.apache.activemq.artemis.tests.util.JMSTestBase;
+import org.apache.activemq.artemis.tests.util.RandomUtil;
 import org.apache.activemq.artemis.tests.util.Wait;
+import org.apache.activemq.artemis.utils.CompositeAddress;
 import org.apache.activemq.artemis.utils.UUIDGenerator;
 import org.junit.After;
 import org.junit.Assert;
@@ -100,6 +102,41 @@ public class AutoCreateJmsDestinationTest extends JMSTestBase {
    }
 
    @Test
+   public void testAutoCreateOnSendToFQQN() throws Exception {
+      Connection connection = cf.createConnection();
+      Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+      String queueName = RandomUtil.randomString();
+      String addressName = RandomUtil.randomString();
+
+      javax.jms.Queue queue = ActiveMQJMSClient.createQueue(CompositeAddress.toFullyQualified(addressName, queueName));
+
+      MessageProducer producer = session.createProducer(queue);
+
+      final int numMessages = 100;
+
+      for (int i = 0; i < numMessages; i++) {
+         TextMessage mess = session.createTextMessage("msg" + i);
+         producer.send(mess);
+      }
+
+      producer.close();
+
+      MessageConsumer messageConsumer = session.createConsumer(queue);
+      connection.start();
+
+      for (int i = 0; i < numMessages; i++) {
+         Message m = messageConsumer.receive(5000);
+         Assert.assertNotNull(m);
+      }
+
+      // make sure the JMX control was created for the address and queue
+      assertNotNull(server.getManagementService().getResource(ADDRESS + addressName));
+      assertNotNull(server.getManagementService().getResource(QUEUE + queueName));
+
+      connection.close();
+   }
+
+   @Test
    public void testAutoCreateOnSendToQueueAnonymousProducer() throws Exception {
       Connection connection = cf.createConnection();
       Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -129,6 +166,37 @@ public class AutoCreateJmsDestinationTest extends JMSTestBase {
    }
 
    @Test
+   public void testAutoCreateOnSendToFQQNAnonymousProducer() throws Exception {
+      Connection connection = cf.createConnection();
+      Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+      String queueName = RandomUtil.randomString();
+      String addressName = RandomUtil.randomString();
+
+      javax.jms.Queue queue = ActiveMQJMSClient.createQueue(CompositeAddress.toFullyQualified(addressName, queueName));
+
+      MessageProducer producer = session.createProducer(null);
+
+      final int numMessages = 100;
+
+      for (int i = 0; i < numMessages; i++) {
+         TextMessage mess = session.createTextMessage("msg" + i);
+         producer.send(queue, mess);
+      }
+
+      producer.close();
+
+      MessageConsumer messageConsumer = session.createConsumer(queue);
+      connection.start();
+
+      for (int i = 0; i < numMessages; i++) {
+         Message m = messageConsumer.receive(5000);
+         Assert.assertNotNull(m);
+      }
+
+      connection.close();
+   }
+
+   @Test
    public void testAutoCreateOnSendToQueueSecurity() throws Exception {
       ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().addUser("guest", "guest");
       ((ActiveMQJAASSecurityManager) server.getSecurityManager()).getConfiguration().setDefaultUser("guest");
@@ -188,6 +256,28 @@ public class AutoCreateJmsDestinationTest extends JMSTestBase {
    }
 
    @Test
+   public void testAutoCreateOnConsumeFromFQQN() throws Exception {
+      Connection connection = null;
+      connection = cf.createConnection();
+      Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+      String queueName = RandomUtil.randomString();
+      String addressName = RandomUtil.randomString();
+
+      javax.jms.Queue queue = ActiveMQJMSClient.createQueue(CompositeAddress.toFullyQualified(addressName, queueName));
+
+      MessageConsumer messageConsumer = session.createConsumer(queue);
+      connection.start();
+
+      Message m = messageConsumer.receive(500);
+      Assert.assertNull(m);
+
+      Queue q = (Queue) server.getPostOffice().getBinding(new SimpleString(queueName)).getBindable();
+      Assert.assertEquals(0, q.getMessageCount());
+      Assert.assertEquals(0, q.getMessagesAdded());
+      connection.close();
+   }
+
+   @Test
    public void testAutoCreateOnSubscribeToTopic() throws Exception {
       Connection connection = cf.createConnection();
       Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);