mirror of
https://github.com/home-assistant/core.git
synced 2025-07-21 12:17:07 +00:00
more tweaks
This commit is contained in:
parent
dd2b092b70
commit
1ee6f5e24a
@ -49,26 +49,19 @@ async def mock_device(
|
|||||||
return RokuDevice(load_json_object_fixture(f"{fixture}.json", DOMAIN))
|
return RokuDevice(load_json_object_fixture(f"{fixture}.json", DOMAIN))
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
|
||||||
def mock_roku_config_flow(mock_device: RokuDevice) -> Generator[MagicMock]:
|
|
||||||
"""Return a mocked Roku client."""
|
|
||||||
|
|
||||||
with patch(
|
|
||||||
"homeassistant.components.roku.config_flow.Roku", autospec=True
|
|
||||||
) as roku_mock:
|
|
||||||
client = roku_mock.return_value
|
|
||||||
client.app_icon_url.side_effect = app_icon_url
|
|
||||||
client.update.return_value = mock_device
|
|
||||||
yield client
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def mock_roku(mock_device: RokuDevice) -> Generator[MagicMock]:
|
def mock_roku(mock_device: RokuDevice) -> Generator[MagicMock]:
|
||||||
"""Return a mocked Roku client."""
|
"""Return a mocked Roku client."""
|
||||||
|
|
||||||
with patch(
|
with (
|
||||||
"homeassistant.components.roku.coordinator.Roku", autospec=True
|
patch(
|
||||||
) as roku_mock:
|
"homeassistant.components.roku.coordinator.Roku", autospec=True
|
||||||
|
) as roku_mock,
|
||||||
|
patch(
|
||||||
|
"homeassistant.components.roku.config_flow.Roku",
|
||||||
|
new=roku_mock,
|
||||||
|
),
|
||||||
|
):
|
||||||
client = roku_mock.return_value
|
client = roku_mock.return_value
|
||||||
client.app_icon_url.side_effect = app_icon_url
|
client.app_icon_url.side_effect = app_icon_url
|
||||||
client.update.return_value = mock_device
|
client.update.return_value = mock_device
|
||||||
|
@ -36,7 +36,7 @@ RECONFIGURE_HOST = "192.168.1.190"
|
|||||||
|
|
||||||
async def test_form(
|
async def test_form(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_roku_config_flow: MagicMock,
|
mock_roku: MagicMock,
|
||||||
mock_setup_entry: None,
|
mock_setup_entry: None,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test the user step."""
|
"""Test the user step."""
|
||||||
@ -75,12 +75,12 @@ async def test_form(
|
|||||||
)
|
)
|
||||||
async def test_form_error(
|
async def test_form_error(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_roku_config_flow: MagicMock,
|
mock_roku: MagicMock,
|
||||||
error: Exception,
|
error: Exception,
|
||||||
reason: str,
|
reason: str,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test we handle usrr flow on error."""
|
"""Test we handle usrr flow on error."""
|
||||||
mock_roku_config_flow.update.side_effect = error
|
mock_roku.update.side_effect = error
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_init(
|
result = await hass.config_entries.flow.async_init(
|
||||||
DOMAIN, context={CONF_SOURCE: SOURCE_USER}
|
DOMAIN, context={CONF_SOURCE: SOURCE_USER}
|
||||||
@ -97,7 +97,7 @@ async def test_form_error(
|
|||||||
assert result["type"] is FlowResultType.FORM
|
assert result["type"] is FlowResultType.FORM
|
||||||
assert result["errors"] == {"base": reason}
|
assert result["errors"] == {"base": reason}
|
||||||
|
|
||||||
mock_roku_config_flow.update.side_effect = None
|
mock_roku.update.side_effect = None
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_configure(
|
result = await hass.config_entries.flow.async_configure(
|
||||||
flow_id=result["flow_id"], user_input={CONF_HOST: HOST}
|
flow_id=result["flow_id"], user_input={CONF_HOST: HOST}
|
||||||
@ -108,11 +108,9 @@ async def test_form_error(
|
|||||||
assert result["type"] is FlowResultType.CREATE_ENTRY
|
assert result["type"] is FlowResultType.CREATE_ENTRY
|
||||||
|
|
||||||
|
|
||||||
async def test_form_unknown_error(
|
async def test_form_unknown_error(hass: HomeAssistant, mock_roku: MagicMock) -> None:
|
||||||
hass: HomeAssistant, mock_roku_config_flow: MagicMock
|
|
||||||
) -> None:
|
|
||||||
"""Test we handle user flow on unknown error."""
|
"""Test we handle user flow on unknown error."""
|
||||||
mock_roku_config_flow.update.side_effect = Exception
|
mock_roku.update.side_effect = Exception
|
||||||
|
|
||||||
result = await hass.config_entries.flow.async_init(
|
result = await hass.config_entries.flow.async_init(
|
||||||
DOMAIN, context={CONF_SOURCE: SOURCE_USER}
|
DOMAIN, context={CONF_SOURCE: SOURCE_USER}
|
||||||
@ -134,7 +132,7 @@ async def test_form_unknown_error(
|
|||||||
async def test_form_duplicate_error(
|
async def test_form_duplicate_error(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_config_entry: MockConfigEntry,
|
mock_config_entry: MockConfigEntry,
|
||||||
mock_roku_config_flow: MagicMock,
|
mock_roku: MagicMock,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test that we handle user flow on duplicates."""
|
"""Test that we handle user flow on duplicates."""
|
||||||
mock_config_entry.add_to_hass(hass)
|
mock_config_entry.add_to_hass(hass)
|
||||||
@ -163,7 +161,7 @@ async def test_form_duplicate_error(
|
|||||||
@pytest.mark.parametrize("mock_device", ["rokutv-7820x"], indirect=True)
|
@pytest.mark.parametrize("mock_device", ["rokutv-7820x"], indirect=True)
|
||||||
async def test_homekit_discovery(
|
async def test_homekit_discovery(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_roku_config_flow: MagicMock,
|
mock_roku: MagicMock,
|
||||||
mock_setup_entry: None,
|
mock_setup_entry: None,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test the homekit discovery flow."""
|
"""Test the homekit discovery flow."""
|
||||||
@ -205,12 +203,12 @@ async def test_homekit_discovery(
|
|||||||
)
|
)
|
||||||
async def test_homekit_error(
|
async def test_homekit_error(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_roku_config_flow: MagicMock,
|
mock_roku: MagicMock,
|
||||||
error: Exception,
|
error: Exception,
|
||||||
reason: str,
|
reason: str,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test we abort Homekit flow on error."""
|
"""Test we abort Homekit flow on error."""
|
||||||
mock_roku_config_flow.update.side_effect = error
|
mock_roku.update.side_effect = error
|
||||||
|
|
||||||
discovery_info = MOCK_HOMEKIT_DISCOVERY_INFO
|
discovery_info = MOCK_HOMEKIT_DISCOVERY_INFO
|
||||||
result = await hass.config_entries.flow.async_init(
|
result = await hass.config_entries.flow.async_init(
|
||||||
@ -226,7 +224,7 @@ async def test_homekit_error(
|
|||||||
async def test_homekit_duplicate_error(
|
async def test_homekit_duplicate_error(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_config_entry: MockConfigEntry,
|
mock_config_entry: MockConfigEntry,
|
||||||
mock_roku_config_flow: MagicMock,
|
mock_roku: MagicMock,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test that we handle Homekit flow on duplicates."""
|
"""Test that we handle Homekit flow on duplicates."""
|
||||||
mock_config_entry.add_to_hass(hass)
|
mock_config_entry.add_to_hass(hass)
|
||||||
@ -244,7 +242,7 @@ async def test_homekit_duplicate_error(
|
|||||||
|
|
||||||
async def test_ssdp_discovery(
|
async def test_ssdp_discovery(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_roku_config_flow: MagicMock,
|
mock_roku: MagicMock,
|
||||||
mock_setup_entry: None,
|
mock_setup_entry: None,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test the SSDP discovery flow."""
|
"""Test the SSDP discovery flow."""
|
||||||
@ -286,12 +284,12 @@ async def test_ssdp_discovery(
|
|||||||
)
|
)
|
||||||
async def test_ssdp_error(
|
async def test_ssdp_error(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_roku_config_flow: MagicMock,
|
mock_roku: MagicMock,
|
||||||
error: Exception,
|
error: Exception,
|
||||||
reason: str,
|
reason: str,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test we abort SSDP flow on error."""
|
"""Test we abort SSDP flow on error."""
|
||||||
mock_roku_config_flow.update.side_effect = error
|
mock_roku.update.side_effect = error
|
||||||
|
|
||||||
discovery_info = MOCK_SSDP_DISCOVERY_INFO
|
discovery_info = MOCK_SSDP_DISCOVERY_INFO
|
||||||
result = await hass.config_entries.flow.async_init(
|
result = await hass.config_entries.flow.async_init(
|
||||||
@ -309,7 +307,7 @@ async def test_ssdp_error(
|
|||||||
async def test_ssdp_duplicate_error(
|
async def test_ssdp_duplicate_error(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_config_entry: MockConfigEntry,
|
mock_config_entry: MockConfigEntry,
|
||||||
mock_roku_config_flow: MagicMock,
|
mock_roku: MagicMock,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test that we handle SSDP flow on duplicates."""
|
"""Test that we handle SSDP flow on duplicates."""
|
||||||
mock_config_entry.add_to_hass(hass)
|
mock_config_entry.add_to_hass(hass)
|
||||||
@ -373,7 +371,7 @@ async def test_reconfigure_flow(
|
|||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_setup_entry: AsyncMock,
|
mock_setup_entry: AsyncMock,
|
||||||
mock_config_entry: MockConfigEntry,
|
mock_config_entry: MockConfigEntry,
|
||||||
mock_roku_config_flow: MagicMock,
|
mock_roku: MagicMock,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test reconfigure flow."""
|
"""Test reconfigure flow."""
|
||||||
result = await _start_reconfigure_flow(hass, mock_config_entry)
|
result = await _start_reconfigure_flow(hass, mock_config_entry)
|
||||||
@ -395,7 +393,7 @@ async def test_reconfigure_unique_id_mismatch(
|
|||||||
mock_device: RokuDevice,
|
mock_device: RokuDevice,
|
||||||
mock_setup_entry: AsyncMock,
|
mock_setup_entry: AsyncMock,
|
||||||
mock_config_entry: MockConfigEntry,
|
mock_config_entry: MockConfigEntry,
|
||||||
mock_roku_config_flow: MagicMock,
|
mock_roku: MagicMock,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Ensure reconfigure flow aborts when the device changes."""
|
"""Ensure reconfigure flow aborts when the device changes."""
|
||||||
mock_device.info.serial_number = "RECONFIG"
|
mock_device.info.serial_number = "RECONFIG"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user