def test_mqtt_subscribes_topics_on_connect(self): prev_topics = { 'topic/test': 1, 'home/sensor': 2, 'still/pending': None } mqttc = mock.MagicMock() mqtt._mqtt_on_connect(mqttc, {'topics': prev_topics}, 0, 0) self.assertFalse(mqttc.disconnect.called) expected = [(topic, qos) for topic, qos in prev_topics.items() if qos is not None] self.assertEqual(expected, [call[1] for call in mqttc.subscribe.mock_calls])
def test_mqtt_failed_connection_results_in_disconnect(self): for result_code in range(1, 6): mqttc = mock.MagicMock() mqtt._mqtt_on_connect(mqttc, {'topics': {}}, 0, result_code) self.assertTrue(mqttc.disconnect.called)