From 8c14efb7d8409d4959d1237cfd8df13a1fac606e Mon Sep 17 00:00:00 2001 From: andsel Date: Sat, 30 Jan 2016 11:46:06 +0100 Subject: [PATCH] Added integration test to check issue #142 --- .../server/ServerIntegrationPahoTest.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/broker/src/test/java/io/moquette/server/ServerIntegrationPahoTest.java b/broker/src/test/java/io/moquette/server/ServerIntegrationPahoTest.java index 422399ca..0676b25a 100644 --- a/broker/src/test/java/io/moquette/server/ServerIntegrationPahoTest.java +++ b/broker/src/test/java/io/moquette/server/ServerIntegrationPahoTest.java @@ -465,6 +465,25 @@ public class ServerIntegrationPahoTest { assertEquals("Hello 2", new String(cbSubscriber2.getMessage(true).getPayload())); } + @Test + public void testConnectSubPub_cycle_getTimeout_on_second_disconnect_issue142() throws Exception { + LOG.info("*** testConnectSubPub_cycle_getTimeout_on_second_disconnect_issue142 ***"); + MqttConnectOptions options = new MqttConnectOptions(); + options.setCleanSession(false); + m_client.connect(options); + m_client.subscribe("/topic", 0); + m_client.publish("/topic", "Hello".getBytes(), 0, true); + m_client.disconnect(); + + //second loop + m_client.connect(options); + m_client.subscribe("/topic", 0); + m_client.publish("/topic", "Hello".getBytes(), 0, true); + m_client.disconnect(); //this should give timeout + + assertFalse("after a disconnect the client should be disconnected", m_client.isConnected()); + } + protected MqttClient createClient(String clientName, String storeSuffix) throws MqttException { return createClient(clientName, storeSuffix, null);