Use opt in device removal for rfxtrx (#58252)
This commit is contained in:
parent
2dd14f8e94
commit
9906717e33
7 changed files with 104 additions and 221 deletions
|
@ -1,4 +1,6 @@
|
|||
"""Common test tools."""
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import timedelta
|
||||
from unittest.mock import patch
|
||||
|
||||
|
@ -24,6 +26,23 @@ def create_rfx_test_cfg(device="abcd", automatic_add=False, devices=None):
|
|||
}
|
||||
|
||||
|
||||
async def setup_rfx_test_cfg(
|
||||
hass, device="abcd", automatic_add=False, devices: dict[str, dict] | None = None
|
||||
):
|
||||
"""Construct a rfxtrx config entry."""
|
||||
entry_data = create_rfx_test_cfg(
|
||||
device=device, automatic_add=automatic_add, devices=devices
|
||||
)
|
||||
mock_entry = MockConfigEntry(domain="rfxtrx", unique_id=DOMAIN, data=entry_data)
|
||||
mock_entry.supports_remove_device = True
|
||||
mock_entry.add_to_hass(hass)
|
||||
|
||||
await hass.config_entries.async_setup(mock_entry.entry_id)
|
||||
await hass.async_block_till_done()
|
||||
await hass.async_start()
|
||||
return mock_entry
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True, name="rfxtrx")
|
||||
async def rfxtrx_fixture(hass):
|
||||
"""Fixture that cleans up threads from integration."""
|
||||
|
@ -50,14 +69,7 @@ async def rfxtrx_fixture(hass):
|
|||
@pytest.fixture(name="rfxtrx_automatic")
|
||||
async def rfxtrx_automatic_fixture(hass, rfxtrx):
|
||||
"""Fixture that starts up with automatic additions."""
|
||||
entry_data = create_rfx_test_cfg(automatic_add=True, devices={})
|
||||
mock_entry = MockConfigEntry(domain="rfxtrx", unique_id=DOMAIN, data=entry_data)
|
||||
|
||||
mock_entry.add_to_hass(hass)
|
||||
|
||||
await hass.config_entries.async_setup(mock_entry.entry_id)
|
||||
await hass.async_block_till_done()
|
||||
await hass.async_start()
|
||||
await setup_rfx_test_cfg(hass, automatic_add=True, devices={})
|
||||
yield rfxtrx
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue