MQTT.Server will use HASS eventloop (#3429)
This commit is contained in:
parent
20af5cb5b4
commit
2bfded7153
2 changed files with 19 additions and 48 deletions
|
@ -13,6 +13,7 @@ class TestMQTT:
|
|||
def setup_method(self, method):
|
||||
"""Setup things to be run when tests are started."""
|
||||
self.hass = get_test_home_assistant()
|
||||
self.hass.config.components.append('http')
|
||||
|
||||
def teardown_method(self, method):
|
||||
"""Stop everything that was started."""
|
||||
|
@ -20,12 +21,13 @@ class TestMQTT:
|
|||
|
||||
@patch('passlib.apps.custom_app_context', Mock(return_value=''))
|
||||
@patch('tempfile.NamedTemporaryFile', Mock(return_value=MagicMock()))
|
||||
@patch('asyncio.new_event_loop', Mock())
|
||||
@patch('homeassistant.components.mqtt.server.run_coroutine_threadsafe',
|
||||
Mock(return_value=MagicMock()))
|
||||
@patch('hbmqtt.broker.Broker', Mock(return_value=MagicMock()))
|
||||
@patch('homeassistant.components.mqtt.MQTT')
|
||||
@patch('asyncio.gather')
|
||||
def test_creating_config_with_http_pass(self, mock_gather, mock_mqtt):
|
||||
def test_creating_config_with_http_pass(self, mock_mqtt):
|
||||
"""Test if the MQTT server gets started and subscribe/publish msg."""
|
||||
self.hass.config.components.append('http')
|
||||
self.hass.bus.listen_once = MagicMock()
|
||||
password = 'super_secret'
|
||||
|
||||
self.hass.config.api = MagicMock(api_password=password)
|
||||
|
@ -44,14 +46,12 @@ class TestMQTT:
|
|||
assert mock_mqtt.mock_calls[0][1][6] is None
|
||||
|
||||
@patch('tempfile.NamedTemporaryFile', Mock(return_value=MagicMock()))
|
||||
@patch('asyncio.new_event_loop', Mock())
|
||||
@patch('asyncio.gather')
|
||||
def test_broker_config_fails(self, mock_gather):
|
||||
@patch('homeassistant.components.mqtt.server.run_coroutine_threadsafe')
|
||||
def test_broker_config_fails(self, mock_run):
|
||||
"""Test if the MQTT component fails if server fails."""
|
||||
self.hass.config.components.append('http')
|
||||
from hbmqtt.broker import BrokerException
|
||||
|
||||
mock_gather.side_effect = BrokerException
|
||||
mock_run.side_effect = BrokerException
|
||||
|
||||
self.hass.config.api = MagicMock(api_password=None)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue