Use a future for mock coro (#34989)
This commit is contained in:
parent
ba7391528f
commit
76f392476b
26 changed files with 154 additions and 262 deletions
|
@ -1,5 +1,4 @@
|
|||
"""Test the cloud component."""
|
||||
from unittest.mock import patch
|
||||
|
||||
import pytest
|
||||
|
||||
|
@ -11,12 +10,12 @@ from homeassistant.core import Context
|
|||
from homeassistant.exceptions import Unauthorized
|
||||
from homeassistant.setup import async_setup_component
|
||||
|
||||
from tests.common import mock_coro
|
||||
from tests.async_mock import patch
|
||||
|
||||
|
||||
async def test_constructor_loads_info_from_config(hass):
|
||||
"""Test non-dev mode loads info from SERVERS constant."""
|
||||
with patch("hass_nabucasa.Cloud.start", return_value=mock_coro()):
|
||||
with patch("hass_nabucasa.Cloud.start"):
|
||||
result = await async_setup_component(
|
||||
hass,
|
||||
"cloud",
|
||||
|
@ -63,17 +62,13 @@ async def test_remote_services(hass, mock_cloud_fixture, hass_read_only_user):
|
|||
assert hass.services.has_service(DOMAIN, "remote_connect")
|
||||
assert hass.services.has_service(DOMAIN, "remote_disconnect")
|
||||
|
||||
with patch(
|
||||
"hass_nabucasa.remote.RemoteUI.connect", return_value=mock_coro()
|
||||
) as mock_connect:
|
||||
with patch("hass_nabucasa.remote.RemoteUI.connect") as mock_connect:
|
||||
await hass.services.async_call(DOMAIN, "remote_connect", blocking=True)
|
||||
|
||||
assert mock_connect.called
|
||||
assert cloud.client.remote_autostart
|
||||
|
||||
with patch(
|
||||
"hass_nabucasa.remote.RemoteUI.disconnect", return_value=mock_coro()
|
||||
) as mock_disconnect:
|
||||
with patch("hass_nabucasa.remote.RemoteUI.disconnect") as mock_disconnect:
|
||||
await hass.services.async_call(DOMAIN, "remote_disconnect", blocking=True)
|
||||
|
||||
assert mock_disconnect.called
|
||||
|
@ -82,9 +77,9 @@ async def test_remote_services(hass, mock_cloud_fixture, hass_read_only_user):
|
|||
# Test admin access required
|
||||
non_admin_context = Context(user_id=hass_read_only_user.id)
|
||||
|
||||
with patch(
|
||||
"hass_nabucasa.remote.RemoteUI.connect", return_value=mock_coro()
|
||||
) as mock_connect, pytest.raises(Unauthorized):
|
||||
with patch("hass_nabucasa.remote.RemoteUI.connect") as mock_connect, pytest.raises(
|
||||
Unauthorized
|
||||
):
|
||||
await hass.services.async_call(
|
||||
DOMAIN, "remote_connect", blocking=True, context=non_admin_context
|
||||
)
|
||||
|
@ -92,7 +87,7 @@ async def test_remote_services(hass, mock_cloud_fixture, hass_read_only_user):
|
|||
assert mock_connect.called is False
|
||||
|
||||
with patch(
|
||||
"hass_nabucasa.remote.RemoteUI.disconnect", return_value=mock_coro()
|
||||
"hass_nabucasa.remote.RemoteUI.disconnect"
|
||||
) as mock_disconnect, pytest.raises(Unauthorized):
|
||||
await hass.services.async_call(
|
||||
DOMAIN, "remote_disconnect", blocking=True, context=non_admin_context
|
||||
|
@ -103,7 +98,7 @@ async def test_remote_services(hass, mock_cloud_fixture, hass_read_only_user):
|
|||
|
||||
async def test_startup_shutdown_events(hass, mock_cloud_fixture):
|
||||
"""Test if the cloud will start on startup event."""
|
||||
with patch("hass_nabucasa.Cloud.stop", return_value=mock_coro()) as mock_stop:
|
||||
with patch("hass_nabucasa.Cloud.stop") as mock_stop:
|
||||
hass.bus.async_fire(EVENT_HOMEASSISTANT_STOP)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
|
@ -114,7 +109,7 @@ async def test_setup_existing_cloud_user(hass, hass_storage):
|
|||
"""Test setup with API push default data."""
|
||||
user = await hass.auth.async_create_system_user("Cloud test")
|
||||
hass_storage[STORAGE_KEY] = {"version": 1, "data": {"cloud_user": user.id}}
|
||||
with patch("hass_nabucasa.Cloud.start", return_value=mock_coro()):
|
||||
with patch("hass_nabucasa.Cloud.start"):
|
||||
result = await async_setup_component(
|
||||
hass,
|
||||
"cloud",
|
||||
|
@ -148,9 +143,7 @@ async def test_on_connect(hass, mock_cloud_fixture):
|
|||
|
||||
assert len(hass.states.async_entity_ids("binary_sensor")) == 1
|
||||
|
||||
with patch(
|
||||
"homeassistant.helpers.discovery.async_load_platform", side_effect=mock_coro
|
||||
) as mock_load:
|
||||
with patch("homeassistant.helpers.discovery.async_load_platform") as mock_load:
|
||||
await cl.iot._on_connect[-1]()
|
||||
await hass.async_block_till_done()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue