import time import unittest from kerbana import config, create_app, mqtt class TestMQTT(unittest.TestCase): def setUp(self): test_config = config.TestConfig() self.app = create_app(test_config) self.mqtt = mqtt.MQTTClient(self.app) self.mqtt.connect() time.sleep(0.1) if not self.mqtt.connected: self.skipTest("Could not find an mqtt server") def tearDown(self): self.mqtt.disconnect(reconnect=False) def test_disconnect(self): # after disconnecting from the mqtt server, we should # automatically reconnect self.mqtt.disconnect() time.sleep(2) self.assertTrue(self.mqtt.connected) def test_disconnect_and_stay(self): # unless we really want to force a disconnection self.mqtt.disconnect(reconnect=False) time.sleep(2) self.assertFalse(self.mqtt.connected) self.assertFalse(self.mqtt.reconnect)