You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2016/11/07 16:36:48 UTC
[28/50] [abbrv] activemq-artemis git commit: Add MQTT Test for
MaxConsumer threshold
Add MQTT Test for MaxConsumer threshold
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/be04eac3
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/be04eac3
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/be04eac3
Branch: refs/heads/ARTEMIS-780
Commit: be04eac33f1c4ad60438c01aa8282e857aa0b2d8
Parents: 1b89801
Author: Martyn Taylor <mt...@redhat.com>
Authored: Tue Nov 1 11:40:29 2016 +0000
Committer: Clebert Suconic <cl...@apache.org>
Committed: Mon Nov 7 11:28:07 2016 -0500
----------------------------------------------------------------------
.../integration/mqtt/imported/MQTTTest.java | 27 ++++++++++++++++++++
.../mqtt/imported/MQTTTestSupport.java | 4 +++
2 files changed, 31 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/be04eac3/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt/imported/MQTTTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt/imported/MQTTTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt/imported/MQTTTest.java
index b809df0..6406955 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt/imported/MQTTTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt/imported/MQTTTest.java
@@ -22,6 +22,7 @@ import javax.jms.Destination;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Session;
+import java.io.EOFException;
import java.lang.reflect.Field;
import java.net.ProtocolException;
import java.util.ArrayList;
@@ -34,8 +35,10 @@ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.regex.Pattern;
+import org.apache.activemq.artemis.api.core.SimpleString;
import org.apache.activemq.artemis.core.protocol.mqtt.MQTTConnectionManager;
import org.apache.activemq.artemis.core.protocol.mqtt.MQTTSession;
+import org.apache.activemq.artemis.core.server.impl.AddressInfo;
import org.apache.activemq.artemis.tests.integration.mqtt.imported.util.Wait;
import org.fusesource.mqtt.client.BlockingConnection;
import org.fusesource.mqtt.client.MQTT;
@@ -1612,4 +1615,28 @@ public class MQTTTest extends MQTTTestSupport {
connection.disconnect();
}
+
+ @Test(timeout = 60 * 1000)
+ public void testClientDisconnectedOnMaxConsumerLimitReached() throws Exception {
+ Exception peerDisconnectedException = null;
+ try {
+ SimpleString coreAddress = new SimpleString("foo.bar");
+ Topic[] mqttSubscription = new Topic[]{new Topic("foo/bar", QoS.AT_LEAST_ONCE)};
+
+ AddressInfo addressInfo = new AddressInfo(coreAddress);
+ addressInfo.setDefaultMaxConsumers(0);
+ getServer().createOrUpdateAddressInfo(addressInfo);
+
+ MQTT mqtt = createMQTTConnection();
+ mqtt.setClientId("test-mqtt");
+ mqtt.setKeepAlive((short) 2);
+ final BlockingConnection connection = mqtt.blockingConnection();
+ connection.connect();
+ connection.subscribe(mqttSubscription);
+ } catch (EOFException e) {
+ peerDisconnectedException = e;
+ }
+ assertNotNull(peerDisconnectedException);
+ assertTrue(peerDisconnectedException.getMessage().contains("Peer disconnected"));
+ }
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/be04eac3/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt/imported/MQTTTestSupport.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt/imported/MQTTTestSupport.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt/imported/MQTTTestSupport.java
index 27ebde0..15cb8b6 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt/imported/MQTTTestSupport.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt/imported/MQTTTestSupport.java
@@ -92,6 +92,10 @@ public class MQTTTestSupport extends ActiveMQTestBase {
return name.getMethodName();
}
+ public ActiveMQServer getServer() {
+ return server;
+ }
+
@Override
@Before
public void setUp() throws Exception {