示例#1
0
 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())
示例#2
0
 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())
示例#3
0
 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())
示例#4
0
 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}))
示例#5
0
 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)
示例#6
0
    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")