aboutsummaryrefslogtreecommitdiff
path: root/tests/test_mqtt.py
blob: 20c1cf201934a1287cc83938b0664d1d2dc0f027 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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)