def test_connect_refused_error(self, mock_client): """ Test connection refused error, mocked paho part """ conf = {'broker': '127.0.0.1'} mock_client.return_value = MockClientConnectionRefused _client = MqttClient(config=conf, connect_callback=self.mock_callback, message_callback=self.mock_callback) self.assertFalse(_client.connect())
def test_connect_timeout_error(self, mock_client): """ Test timeout error, mocked paho part """ conf = {'broker': '127.0.0.1'} mock_client.return_value = MockClientTimeoutError _client = MqttClient(config=conf, connect_callback=self.mock_callback, message_callback=self.mock_callback) self.assertFalse(_client.connect())
def test_connect_success(self, mock_client): """ Test connecting, mocked paho part """ conf = {'broker': '127.0.0.1'} mock_client.return_value = MockClient _client = MqttClient(config=conf, connect_callback=self.mock_callback, message_callback=self.mock_callback) self.assertTrue(_client.connect())
def test_publish_fail(self): """ Testing publishing, mocking the actual publish""" conf = {'broker': '127.0.0.1'} _client = MqttClient(config=conf, connect_callback=self.mock_callback, message_callback=self.mock_callback) mock_mqtt_client = mock.PropertyMock( return_value=MockClientPublishFail) type(_client)._mqtt_client = mock_mqtt_client self.assertFalse(_client.publish("test", {'a': 12}))
def test_on_message(self): """ Testing on message, mocking the actual paho code""" mock_msg = MockOnMessage() conf = {'broker': '127.0.0.1'} _client = MqttClient(config=conf, connect_callback=self.mock_callback, message_callback=mock_msg.on_msg_callback) msg = 'test_123' topic = 'test_topic' mock_msg.payload = msg.encode('utf-8') mock_msg.topic = topic _client._on_message(None, None, mock_msg) self.assertEqual(mock_msg.result_payload, msg) self.assertEqual(mock_msg.result_topic, topic)
def __init__(self, queue, thread_event: Event): Thread.__init__(self) self.config: dict = ConfigurationParser().get_config() self.log = Logging(owner=__file__, config=True) self._observer_notify_queue: Queue = Queue(maxsize=100) self._observer_publish_queue: Queue = queue self._thread_ready: Event = thread_event config = self.get_mqtt_config() self.mqtt_client = MqttClient(config=config, connect_callback=self.on_connect, message_callback=self.on_message) if not self.mqtt_client.connect(): # todo: unscribcribe from subject self.log.critical("TODO: Unsubscribe itself form framework")