You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ma...@apache.org on 2017/11/24 15:47:28 UTC

[1/2] activemq-artemis git commit: This closes #1664

Repository: activemq-artemis
Updated Branches:
  refs/heads/master 245495196 -> ae367c6af


This closes #1664


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/ae367c6a
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/ae367c6a
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/ae367c6a

Branch: refs/heads/master
Commit: ae367c6aff62f8fffee0019a761c16c33b9d46a7
Parents: 2454951 7beb378
Author: Martyn Taylor <mt...@redhat.com>
Authored: Fri Nov 24 13:17:01 2017 +0000
Committer: Martyn Taylor <mt...@redhat.com>
Committed: Fri Nov 24 13:17:01 2017 +0000

----------------------------------------------------------------------
 .../integration/server/ConfigurationTest.java   |  63 +++++++++++
 .../src/test/resources/duplicate-queues.xml     | 104 +++++++++++++++++++
 2 files changed, 167 insertions(+)
----------------------------------------------------------------------



[2/2] activemq-artemis git commit: NO-JIRA Adding test for duplicate queues in config

Posted by ma...@apache.org.
NO-JIRA Adding test for duplicate queues in config


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/7beb3780
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/7beb3780
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/7beb3780

Branch: refs/heads/master
Commit: 7beb378061f1de6ae670fb7cc3fbde08d3990fcd
Parents: 2454951
Author: Andy Taylor <an...@gmail.com>
Authored: Wed Nov 22 15:42:48 2017 +0000
Committer: Martyn Taylor <mt...@redhat.com>
Committed: Fri Nov 24 13:17:01 2017 +0000

----------------------------------------------------------------------
 .../integration/server/ConfigurationTest.java   |  63 +++++++++++
 .../src/test/resources/duplicate-queues.xml     | 104 +++++++++++++++++++
 2 files changed, 167 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/7beb3780/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/server/ConfigurationTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/server/ConfigurationTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/server/ConfigurationTest.java
new file mode 100644
index 0000000..48b3327
--- /dev/null
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/server/ConfigurationTest.java
@@ -0,0 +1,63 @@
+/*
+ * 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.artemis.tests.integration.server;
+
+import org.apache.activemq.artemis.api.core.SimpleString;
+import org.apache.activemq.artemis.core.config.FileDeploymentManager;
+import org.apache.activemq.artemis.core.config.impl.FileConfiguration;
+import org.apache.activemq.artemis.core.config.impl.SecurityConfiguration;
+import org.apache.activemq.artemis.core.postoffice.Bindings;
+import org.apache.activemq.artemis.core.server.ActiveMQServer;
+import org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl;
+import org.apache.activemq.artemis.jms.server.config.impl.FileJMSConfiguration;
+import org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager;
+import org.apache.activemq.artemis.spi.core.security.jaas.InVMLoginModule;
+import org.apache.activemq.artemis.tests.util.ActiveMQTestBase;
+import org.junit.Test;
+
+public class ConfigurationTest extends ActiveMQTestBase {
+   @Test
+   public void testStartWithDuplicateQueues() throws Exception {
+      ActiveMQServer server = getActiveMQServer("duplicate-queues.xml");
+      try {
+         server.start();
+         Bindings mytopic_1 = server.getPostOffice().getBindingsForAddress(new SimpleString("mytopic_1"));
+         assertEquals(mytopic_1.getBindings().size(), 0);
+         Bindings mytopic_2 = server.getPostOffice().getBindingsForAddress(new SimpleString("mytopic_2"));
+         assertEquals(mytopic_2.getBindings().size(), 3);
+      } finally {
+         try {
+            server.stop();
+         } catch (Exception e) {
+         }
+      }
+   }
+
+   protected ActiveMQServer getActiveMQServer(String brokerConfig) throws Exception {
+      FileConfiguration fc = new FileConfiguration();
+      FileJMSConfiguration fileConfiguration = new FileJMSConfiguration();
+      FileDeploymentManager deploymentManager = new FileDeploymentManager(brokerConfig);
+      deploymentManager.addDeployable(fc);
+      deploymentManager.addDeployable(fileConfiguration);
+      deploymentManager.readConfiguration();
+
+      ActiveMQJAASSecurityManager sm = new ActiveMQJAASSecurityManager(InVMLoginModule.class.getName(), new SecurityConfiguration());
+
+      return addServer(new ActiveMQServerImpl(fc, sm));
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/7beb3780/tests/integration-tests/src/test/resources/duplicate-queues.xml
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/resources/duplicate-queues.xml b/tests/integration-tests/src/test/resources/duplicate-queues.xml
new file mode 100644
index 0000000..00fae82
--- /dev/null
+++ b/tests/integration-tests/src/test/resources/duplicate-queues.xml
@@ -0,0 +1,104 @@
+<?xml version='1.0'?>
+<!--
+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.
+-->
+
+<configuration xmlns="urn:activemq"
+               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+               xsi:schemaLocation="urn:activemq /schema/artemis-configuration.xsd">
+
+
+   <core xmlns="urn:activemq:core">
+
+      <name>0.0.0.0</name>
+
+      <configuration-file-refresh-period>100</configuration-file-refresh-period>
+
+      <persistence-enabled>false</persistence-enabled>
+
+      <security-enabled>false</security-enabled>
+
+      <!-- this could be ASYNCIO or NIO
+       -->
+      <journal-type>NIO</journal-type>
+
+      <paging-directory>./data/paging</paging-directory>
+
+      <bindings-directory>./data/bindings</bindings-directory>
+
+      <journal-directory>./data/journal</journal-directory>
+
+      <large-messages-directory>./data/large-messages</large-messages-directory>
+
+      <journal-min-files>2</journal-min-files>
+
+      <journal-pool-files>-1</journal-pool-files>
+
+      <!--
+       This value was determined through a calculation.
+       Your system could perform 25 writes per millisecond
+       on the current journal configuration.
+       That translates as a sync write every 40000 nanoseconds
+      -->
+      <journal-buffer-timeout>40000</journal-buffer-timeout>
+
+      <addresses>
+         <address name="mytopic_2">
+            <multicast>
+               <queue name="queue.A" />
+               <queue name="queue.B" />
+               <queue name="queue.C" />
+            </multicast>
+         </address>
+         <address name="mytopic_1">
+            <multicast>
+               <queue name="queue.A" />
+               <queue name="queue.B" />
+               <queue name="queue.C" />
+            </multicast>
+         </address>
+      </addresses>
+
+
+      <security-settings>
+         <security-setting match="#">
+            <permission type="createNonDurableQueue" roles="a"/>
+            <permission type="deleteNonDurableQueue" roles="a"/>
+            <permission type="createDurableQueue" roles="a"/>
+            <permission type="deleteDurableQueue" roles="a"/>
+            <permission type="browse" roles="a"/>
+            <permission type="send" roles="a"/>
+            <!-- we need this otherwise ./artemis data imp wouldn't work -->
+            <permission type="manage" roles="a"/>
+         </security-setting>
+      </security-settings>
+
+      <address-settings>
+         <!--default for catch all-->
+         <address-setting match="#">
+            <auto-create-queues>false</auto-create-queues>
+            <dead-letter-address>DLQ</dead-letter-address>
+            <expiry-address>ExpiryQueue</expiry-address>
+            <redelivery-delay>0</redelivery-delay>
+            <max-size-bytes>10Mb</max-size-bytes>
+            <message-counter-history-day-limit>10</message-counter-history-day-limit>
+            <address-full-policy>BLOCK</address-full-policy>
+         </address-setting>
+      </address-settings>
+   </core>
+</configuration>