mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
Fix static/class async mocks on Python 3.8.0 and .1 (#40147)
* forked_daapd * shelly * simplipy
This commit is contained in:
parent
f6584c1866
commit
271ffac4a9
@ -16,7 +16,7 @@ from homeassistant.config_entries import (
|
|||||||
)
|
)
|
||||||
from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_PORT
|
from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_PORT
|
||||||
|
|
||||||
from tests.async_mock import patch
|
from tests.async_mock import AsyncMock, patch
|
||||||
from tests.common import MockConfigEntry
|
from tests.common import MockConfigEntry
|
||||||
|
|
||||||
SAMPLE_CONFIG = {
|
SAMPLE_CONFIG = {
|
||||||
@ -69,7 +69,8 @@ async def test_show_form(hass):
|
|||||||
async def test_config_flow(hass, config_entry):
|
async def test_config_flow(hass, config_entry):
|
||||||
"""Test that the user step works."""
|
"""Test that the user step works."""
|
||||||
with patch(
|
with patch(
|
||||||
"homeassistant.components.forked_daapd.config_flow.ForkedDaapdAPI.test_connection"
|
"homeassistant.components.forked_daapd.config_flow.ForkedDaapdAPI.test_connection",
|
||||||
|
new=AsyncMock(),
|
||||||
) as mock_test_connection, patch(
|
) as mock_test_connection, patch(
|
||||||
"homeassistant.components.forked_daapd.media_player.ForkedDaapdAPI.get_request",
|
"homeassistant.components.forked_daapd.media_player.ForkedDaapdAPI.get_request",
|
||||||
autospec=True,
|
autospec=True,
|
||||||
@ -119,7 +120,8 @@ async def test_zeroconf_updates_title(hass, config_entry):
|
|||||||
async def test_config_flow_no_websocket(hass, config_entry):
|
async def test_config_flow_no_websocket(hass, config_entry):
|
||||||
"""Test config flow setup without websocket enabled on server."""
|
"""Test config flow setup without websocket enabled on server."""
|
||||||
with patch(
|
with patch(
|
||||||
"homeassistant.components.forked_daapd.config_flow.ForkedDaapdAPI.test_connection"
|
"homeassistant.components.forked_daapd.config_flow.ForkedDaapdAPI.test_connection",
|
||||||
|
new=AsyncMock(),
|
||||||
) as mock_test_connection:
|
) as mock_test_connection:
|
||||||
# test invalid config data
|
# test invalid config data
|
||||||
mock_test_connection.return_value = ["websocket_not_enabled"]
|
mock_test_connection.return_value = ["websocket_not_enabled"]
|
||||||
|
@ -25,9 +25,11 @@ async def test_form(hass):
|
|||||||
return_value={"mac": "test-mac", "type": "SHSW-1", "auth": False},
|
return_value={"mac": "test-mac", "type": "SHSW-1", "auth": False},
|
||||||
), patch(
|
), patch(
|
||||||
"aioshelly.Device.create",
|
"aioshelly.Device.create",
|
||||||
|
new=AsyncMock(
|
||||||
return_value=Mock(
|
return_value=Mock(
|
||||||
shutdown=AsyncMock(),
|
shutdown=AsyncMock(),
|
||||||
settings={"name": "Test name", "device": {"mac": "test-mac"}},
|
settings={"name": "Test name", "device": {"mac": "test-mac"}},
|
||||||
|
)
|
||||||
),
|
),
|
||||||
), patch(
|
), patch(
|
||||||
"homeassistant.components.shelly.async_setup", return_value=True
|
"homeassistant.components.shelly.async_setup", return_value=True
|
||||||
@ -72,9 +74,11 @@ async def test_form_auth(hass):
|
|||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"aioshelly.Device.create",
|
"aioshelly.Device.create",
|
||||||
|
new=AsyncMock(
|
||||||
return_value=Mock(
|
return_value=Mock(
|
||||||
shutdown=AsyncMock(),
|
shutdown=AsyncMock(),
|
||||||
settings={"name": "Test name", "device": {"mac": "test-mac"}},
|
settings={"name": "Test name", "device": {"mac": "test-mac"}},
|
||||||
|
)
|
||||||
),
|
),
|
||||||
), patch(
|
), patch(
|
||||||
"homeassistant.components.shelly.async_setup", return_value=True
|
"homeassistant.components.shelly.async_setup", return_value=True
|
||||||
@ -136,7 +140,7 @@ async def test_form_errors_test_connection(hass, error):
|
|||||||
"aioshelly.get_info", return_value={"mac": "test-mac", "auth": False}
|
"aioshelly.get_info", return_value={"mac": "test-mac", "auth": False}
|
||||||
), patch(
|
), patch(
|
||||||
"aioshelly.Device.create",
|
"aioshelly.Device.create",
|
||||||
side_effect=exc,
|
new=AsyncMock(side_effect=exc),
|
||||||
):
|
):
|
||||||
result2 = await hass.config_entries.flow.async_configure(
|
result2 = await hass.config_entries.flow.async_configure(
|
||||||
result["flow_id"],
|
result["flow_id"],
|
||||||
@ -199,7 +203,7 @@ async def test_form_auth_errors_test_connection(hass, error):
|
|||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"aioshelly.Device.create",
|
"aioshelly.Device.create",
|
||||||
side_effect=exc,
|
new=AsyncMock(side_effect=exc),
|
||||||
):
|
):
|
||||||
result3 = await hass.config_entries.flow.async_configure(
|
result3 = await hass.config_entries.flow.async_configure(
|
||||||
result2["flow_id"],
|
result2["flow_id"],
|
||||||
@ -227,9 +231,11 @@ async def test_zeroconf(hass):
|
|||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"aioshelly.Device.create",
|
"aioshelly.Device.create",
|
||||||
|
new=AsyncMock(
|
||||||
return_value=Mock(
|
return_value=Mock(
|
||||||
shutdown=AsyncMock(),
|
shutdown=AsyncMock(),
|
||||||
settings={"name": "Test name", "device": {"mac": "test-mac"}},
|
settings={"name": "Test name", "device": {"mac": "test-mac"}},
|
||||||
|
)
|
||||||
),
|
),
|
||||||
), patch(
|
), patch(
|
||||||
"homeassistant.components.shelly.async_setup", return_value=True
|
"homeassistant.components.shelly.async_setup", return_value=True
|
||||||
@ -274,7 +280,7 @@ async def test_zeroconf_confirm_error(hass, error):
|
|||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"aioshelly.Device.create",
|
"aioshelly.Device.create",
|
||||||
side_effect=exc,
|
new=AsyncMock(side_effect=exc),
|
||||||
):
|
):
|
||||||
result2 = await hass.config_entries.flow.async_configure(
|
result2 = await hass.config_entries.flow.async_configure(
|
||||||
result["flow_id"],
|
result["flow_id"],
|
||||||
@ -349,9 +355,11 @@ async def test_zeroconf_require_auth(hass):
|
|||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"aioshelly.Device.create",
|
"aioshelly.Device.create",
|
||||||
|
new=AsyncMock(
|
||||||
return_value=Mock(
|
return_value=Mock(
|
||||||
shutdown=AsyncMock(),
|
shutdown=AsyncMock(),
|
||||||
settings={"name": "Test name", "device": {"mac": "test-mac"}},
|
settings={"name": "Test name", "device": {"mac": "test-mac"}},
|
||||||
|
)
|
||||||
),
|
),
|
||||||
), patch(
|
), patch(
|
||||||
"homeassistant.components.shelly.async_setup", return_value=True
|
"homeassistant.components.shelly.async_setup", return_value=True
|
||||||
|
@ -10,7 +10,7 @@ from homeassistant.components.simplisafe import DOMAIN
|
|||||||
from homeassistant.config_entries import SOURCE_IMPORT, SOURCE_USER
|
from homeassistant.config_entries import SOURCE_IMPORT, SOURCE_USER
|
||||||
from homeassistant.const import CONF_CODE, CONF_PASSWORD, CONF_TOKEN, CONF_USERNAME
|
from homeassistant.const import CONF_CODE, CONF_PASSWORD, CONF_TOKEN, CONF_USERNAME
|
||||||
|
|
||||||
from tests.async_mock import MagicMock, PropertyMock, patch
|
from tests.async_mock import AsyncMock, MagicMock, PropertyMock, patch
|
||||||
from tests.common import MockConfigEntry
|
from tests.common import MockConfigEntry
|
||||||
|
|
||||||
|
|
||||||
@ -49,7 +49,7 @@ async def test_invalid_credentials(hass):
|
|||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"simplipy.API.login_via_credentials",
|
"simplipy.API.login_via_credentials",
|
||||||
side_effect=InvalidCredentialsError,
|
new=AsyncMock(side_effect=InvalidCredentialsError),
|
||||||
):
|
):
|
||||||
result = await hass.config_entries.flow.async_init(
|
result = await hass.config_entries.flow.async_init(
|
||||||
DOMAIN, context={"source": SOURCE_USER}, data=conf
|
DOMAIN, context={"source": SOURCE_USER}, data=conf
|
||||||
@ -105,7 +105,9 @@ async def test_step_import(hass):
|
|||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"homeassistant.components.simplisafe.async_setup_entry", return_value=True
|
"homeassistant.components.simplisafe.async_setup_entry", return_value=True
|
||||||
), patch("simplipy.API.login_via_credentials", return_value=mock_api()):
|
), patch(
|
||||||
|
"simplipy.API.login_via_credentials", new=AsyncMock(return_value=mock_api())
|
||||||
|
):
|
||||||
result = await hass.config_entries.flow.async_init(
|
result = await hass.config_entries.flow.async_init(
|
||||||
DOMAIN, context={"source": SOURCE_USER}, data=conf
|
DOMAIN, context={"source": SOURCE_USER}, data=conf
|
||||||
)
|
)
|
||||||
@ -140,7 +142,9 @@ async def test_step_reauth(hass):
|
|||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"homeassistant.components.simplisafe.async_setup_entry", return_value=True
|
"homeassistant.components.simplisafe.async_setup_entry", return_value=True
|
||||||
), patch("simplipy.API.login_via_credentials", return_value=mock_api()):
|
), patch(
|
||||||
|
"simplipy.API.login_via_credentials", new=AsyncMock(return_value=mock_api())
|
||||||
|
):
|
||||||
result = await hass.config_entries.flow.async_configure(
|
result = await hass.config_entries.flow.async_configure(
|
||||||
result["flow_id"], user_input={CONF_PASSWORD: "password"}
|
result["flow_id"], user_input={CONF_PASSWORD: "password"}
|
||||||
)
|
)
|
||||||
@ -160,7 +164,9 @@ async def test_step_user(hass):
|
|||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"homeassistant.components.simplisafe.async_setup_entry", return_value=True
|
"homeassistant.components.simplisafe.async_setup_entry", return_value=True
|
||||||
), patch("simplipy.API.login_via_credentials", return_value=mock_api()):
|
), patch(
|
||||||
|
"simplipy.API.login_via_credentials", new=AsyncMock(return_value=mock_api())
|
||||||
|
):
|
||||||
result = await hass.config_entries.flow.async_init(
|
result = await hass.config_entries.flow.async_init(
|
||||||
DOMAIN, context={"source": SOURCE_USER}, data=conf
|
DOMAIN, context={"source": SOURCE_USER}, data=conf
|
||||||
)
|
)
|
||||||
@ -183,7 +189,8 @@ async def test_step_user_mfa(hass):
|
|||||||
}
|
}
|
||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"simplipy.API.login_via_credentials", side_effect=PendingAuthorizationError
|
"simplipy.API.login_via_credentials",
|
||||||
|
new=AsyncMock(side_effect=PendingAuthorizationError),
|
||||||
):
|
):
|
||||||
result = await hass.config_entries.flow.async_init(
|
result = await hass.config_entries.flow.async_init(
|
||||||
DOMAIN, context={"source": SOURCE_USER}, data=conf
|
DOMAIN, context={"source": SOURCE_USER}, data=conf
|
||||||
@ -191,7 +198,8 @@ async def test_step_user_mfa(hass):
|
|||||||
assert result["step_id"] == "mfa"
|
assert result["step_id"] == "mfa"
|
||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"simplipy.API.login_via_credentials", side_effect=PendingAuthorizationError
|
"simplipy.API.login_via_credentials",
|
||||||
|
new=AsyncMock(side_effect=PendingAuthorizationError),
|
||||||
):
|
):
|
||||||
# Simulate the user pressing the MFA submit button without having clicked
|
# Simulate the user pressing the MFA submit button without having clicked
|
||||||
# the link in the MFA email:
|
# the link in the MFA email:
|
||||||
@ -202,7 +210,9 @@ async def test_step_user_mfa(hass):
|
|||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"homeassistant.components.simplisafe.async_setup_entry", return_value=True
|
"homeassistant.components.simplisafe.async_setup_entry", return_value=True
|
||||||
), patch("simplipy.API.login_via_credentials", return_value=mock_api()):
|
), patch(
|
||||||
|
"simplipy.API.login_via_credentials", new=AsyncMock(return_value=mock_api())
|
||||||
|
):
|
||||||
result = await hass.config_entries.flow.async_configure(
|
result = await hass.config_entries.flow.async_configure(
|
||||||
result["flow_id"], user_input={}
|
result["flow_id"], user_input={}
|
||||||
)
|
)
|
||||||
@ -222,7 +232,7 @@ async def test_unknown_error(hass):
|
|||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"simplipy.API.login_via_credentials",
|
"simplipy.API.login_via_credentials",
|
||||||
side_effect=SimplipyError,
|
new=AsyncMock(side_effect=SimplipyError),
|
||||||
):
|
):
|
||||||
result = await hass.config_entries.flow.async_init(
|
result = await hass.config_entries.flow.async_init(
|
||||||
DOMAIN, context={"source": SOURCE_USER}, data=conf
|
DOMAIN, context={"source": SOURCE_USER}, data=conf
|
||||||
|
Loading…
x
Reference in New Issue
Block a user