mirror of
https://github.com/home-assistant/core.git
synced 2025-07-20 03:37:07 +00:00
Fix Plex test timeouts (#28077)
* Ensure mocked calls are inside patch * Avoid filesytem I/O
This commit is contained in:
parent
92508af253
commit
fc8920646b
@ -46,14 +46,14 @@ async def test_bad_credentials(hass):
|
|||||||
assert result["type"] == "form"
|
assert result["type"] == "form"
|
||||||
assert result["step_id"] == "start_website_auth"
|
assert result["step_id"] == "start_website_auth"
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
|
||||||
assert result["type"] == "external"
|
|
||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"plexapi.myplex.MyPlexAccount", side_effect=plexapi.exceptions.Unauthorized
|
"plexapi.myplex.MyPlexAccount", side_effect=plexapi.exceptions.Unauthorized
|
||||||
), asynctest.patch("plexauth.PlexAuth.initiate_auth"), asynctest.patch(
|
), asynctest.patch("plexauth.PlexAuth.initiate_auth"), asynctest.patch(
|
||||||
"plexauth.PlexAuth.token", return_value="BAD TOKEN"
|
"plexauth.PlexAuth.token", return_value="BAD TOKEN"
|
||||||
):
|
):
|
||||||
|
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
||||||
|
assert result["type"] == "external"
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
||||||
assert result["type"] == "external_done"
|
assert result["type"] == "external_done"
|
||||||
|
|
||||||
@ -103,7 +103,7 @@ async def test_import_file_from_discovery(hass):
|
|||||||
|
|
||||||
async def test_discovery(hass):
|
async def test_discovery(hass):
|
||||||
"""Test starting a flow from discovery."""
|
"""Test starting a flow from discovery."""
|
||||||
|
with patch("homeassistant.components.plex.config_flow.load_json", return_value={}):
|
||||||
result = await hass.config_entries.flow.async_init(
|
result = await hass.config_entries.flow.async_init(
|
||||||
config_flow.DOMAIN,
|
config_flow.DOMAIN,
|
||||||
context={"source": "discovery"},
|
context={"source": "discovery"},
|
||||||
@ -192,12 +192,12 @@ async def test_unknown_exception(hass):
|
|||||||
assert result["type"] == "form"
|
assert result["type"] == "form"
|
||||||
assert result["step_id"] == "start_website_auth"
|
assert result["step_id"] == "start_website_auth"
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
|
||||||
assert result["type"] == "external"
|
|
||||||
|
|
||||||
with patch("plexapi.myplex.MyPlexAccount", side_effect=Exception), asynctest.patch(
|
with patch("plexapi.myplex.MyPlexAccount", side_effect=Exception), asynctest.patch(
|
||||||
"plexauth.PlexAuth.initiate_auth"
|
"plexauth.PlexAuth.initiate_auth"
|
||||||
), asynctest.patch("plexauth.PlexAuth.token", return_value="MOCK_TOKEN"):
|
), asynctest.patch("plexauth.PlexAuth.token", return_value="MOCK_TOKEN"):
|
||||||
|
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
||||||
|
assert result["type"] == "external"
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
||||||
assert result["type"] == "external_done"
|
assert result["type"] == "external_done"
|
||||||
|
|
||||||
@ -217,14 +217,13 @@ async def test_no_servers_found(hass):
|
|||||||
assert result["type"] == "form"
|
assert result["type"] == "form"
|
||||||
assert result["step_id"] == "start_website_auth"
|
assert result["step_id"] == "start_website_auth"
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
|
||||||
assert result["type"] == "external"
|
|
||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"plexapi.myplex.MyPlexAccount", return_value=MockPlexAccount(servers=0)
|
"plexapi.myplex.MyPlexAccount", return_value=MockPlexAccount(servers=0)
|
||||||
), asynctest.patch("plexauth.PlexAuth.initiate_auth"), asynctest.patch(
|
), asynctest.patch("plexauth.PlexAuth.initiate_auth"), asynctest.patch(
|
||||||
"plexauth.PlexAuth.token", return_value=MOCK_TOKEN
|
"plexauth.PlexAuth.token", return_value=MOCK_TOKEN
|
||||||
):
|
):
|
||||||
|
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
||||||
|
assert result["type"] == "external"
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
||||||
assert result["type"] == "external_done"
|
assert result["type"] == "external_done"
|
||||||
@ -248,14 +247,14 @@ async def test_single_available_server(hass):
|
|||||||
assert result["type"] == "form"
|
assert result["type"] == "form"
|
||||||
assert result["step_id"] == "start_website_auth"
|
assert result["step_id"] == "start_website_auth"
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
|
||||||
assert result["type"] == "external"
|
|
||||||
|
|
||||||
with patch("plexapi.myplex.MyPlexAccount", return_value=MockPlexAccount()), patch(
|
with patch("plexapi.myplex.MyPlexAccount", return_value=MockPlexAccount()), patch(
|
||||||
"plexapi.server.PlexServer", return_value=mock_plex_server
|
"plexapi.server.PlexServer", return_value=mock_plex_server
|
||||||
), asynctest.patch("plexauth.PlexAuth.initiate_auth"), asynctest.patch(
|
), asynctest.patch("plexauth.PlexAuth.initiate_auth"), asynctest.patch(
|
||||||
"plexauth.PlexAuth.token", return_value=MOCK_TOKEN
|
"plexauth.PlexAuth.token", return_value=MOCK_TOKEN
|
||||||
):
|
):
|
||||||
|
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
||||||
|
assert result["type"] == "external"
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
||||||
assert result["type"] == "external_done"
|
assert result["type"] == "external_done"
|
||||||
|
|
||||||
@ -287,9 +286,6 @@ async def test_multiple_servers_with_selection(hass):
|
|||||||
assert result["type"] == "form"
|
assert result["type"] == "form"
|
||||||
assert result["step_id"] == "start_website_auth"
|
assert result["step_id"] == "start_website_auth"
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
|
||||||
assert result["type"] == "external"
|
|
||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"plexapi.myplex.MyPlexAccount", return_value=MockPlexAccount(servers=2)
|
"plexapi.myplex.MyPlexAccount", return_value=MockPlexAccount(servers=2)
|
||||||
), patch(
|
), patch(
|
||||||
@ -299,6 +295,9 @@ async def test_multiple_servers_with_selection(hass):
|
|||||||
), asynctest.patch(
|
), asynctest.patch(
|
||||||
"plexauth.PlexAuth.token", return_value=MOCK_TOKEN
|
"plexauth.PlexAuth.token", return_value=MOCK_TOKEN
|
||||||
):
|
):
|
||||||
|
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
||||||
|
assert result["type"] == "external"
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
||||||
assert result["type"] == "external_done"
|
assert result["type"] == "external_done"
|
||||||
|
|
||||||
@ -349,9 +348,6 @@ async def test_adding_last_unconfigured_server(hass):
|
|||||||
assert result["type"] == "form"
|
assert result["type"] == "form"
|
||||||
assert result["step_id"] == "start_website_auth"
|
assert result["step_id"] == "start_website_auth"
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
|
||||||
assert result["type"] == "external"
|
|
||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"plexapi.myplex.MyPlexAccount", return_value=MockPlexAccount(servers=2)
|
"plexapi.myplex.MyPlexAccount", return_value=MockPlexAccount(servers=2)
|
||||||
), patch(
|
), patch(
|
||||||
@ -361,6 +357,9 @@ async def test_adding_last_unconfigured_server(hass):
|
|||||||
), asynctest.patch(
|
), asynctest.patch(
|
||||||
"plexauth.PlexAuth.token", return_value=MOCK_TOKEN
|
"plexauth.PlexAuth.token", return_value=MOCK_TOKEN
|
||||||
):
|
):
|
||||||
|
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
||||||
|
assert result["type"] == "external"
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
||||||
assert result["type"] == "external_done"
|
assert result["type"] == "external_done"
|
||||||
|
|
||||||
@ -440,14 +439,14 @@ async def test_all_available_servers_configured(hass):
|
|||||||
assert result["type"] == "form"
|
assert result["type"] == "form"
|
||||||
assert result["step_id"] == "start_website_auth"
|
assert result["step_id"] == "start_website_auth"
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
|
||||||
assert result["type"] == "external"
|
|
||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"plexapi.myplex.MyPlexAccount", return_value=MockPlexAccount(servers=2)
|
"plexapi.myplex.MyPlexAccount", return_value=MockPlexAccount(servers=2)
|
||||||
), asynctest.patch("plexauth.PlexAuth.initiate_auth"), asynctest.patch(
|
), asynctest.patch("plexauth.PlexAuth.initiate_auth"), asynctest.patch(
|
||||||
"plexauth.PlexAuth.token", return_value=MOCK_TOKEN
|
"plexauth.PlexAuth.token", return_value=MOCK_TOKEN
|
||||||
):
|
):
|
||||||
|
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
||||||
|
assert result["type"] == "external"
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
||||||
assert result["type"] == "external_done"
|
assert result["type"] == "external_done"
|
||||||
|
|
||||||
@ -495,12 +494,12 @@ async def test_external_timed_out(hass):
|
|||||||
assert result["type"] == "form"
|
assert result["type"] == "form"
|
||||||
assert result["step_id"] == "start_website_auth"
|
assert result["step_id"] == "start_website_auth"
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
|
||||||
assert result["type"] == "external"
|
|
||||||
|
|
||||||
with asynctest.patch("plexauth.PlexAuth.initiate_auth"), asynctest.patch(
|
with asynctest.patch("plexauth.PlexAuth.initiate_auth"), asynctest.patch(
|
||||||
"plexauth.PlexAuth.token", return_value=None
|
"plexauth.PlexAuth.token", return_value=None
|
||||||
):
|
):
|
||||||
|
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
||||||
|
assert result["type"] == "external"
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
||||||
assert result["type"] == "external_done"
|
assert result["type"] == "external_done"
|
||||||
|
|
||||||
@ -520,12 +519,12 @@ async def test_callback_view(hass, aiohttp_client):
|
|||||||
assert result["type"] == "form"
|
assert result["type"] == "form"
|
||||||
assert result["step_id"] == "start_website_auth"
|
assert result["step_id"] == "start_website_auth"
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
|
||||||
assert result["type"] == "external"
|
|
||||||
|
|
||||||
with asynctest.patch("plexauth.PlexAuth.initiate_auth"), asynctest.patch(
|
with asynctest.patch("plexauth.PlexAuth.initiate_auth"), asynctest.patch(
|
||||||
"plexauth.PlexAuth.token", return_value=MOCK_TOKEN
|
"plexauth.PlexAuth.token", return_value=MOCK_TOKEN
|
||||||
):
|
):
|
||||||
|
result = await hass.config_entries.flow.async_configure(result["flow_id"])
|
||||||
|
assert result["type"] == "external"
|
||||||
|
|
||||||
client = await aiohttp_client(hass.http.app)
|
client = await aiohttp_client(hass.http.app)
|
||||||
forward_url = f'{config_flow.AUTH_CALLBACK_PATH}?flow_id={result["flow_id"]}'
|
forward_url = f'{config_flow.AUTH_CALLBACK_PATH}?flow_id={result["flow_id"]}'
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user