Use fixtures in deCONZ sensor tests PT2 (#121204)
This commit is contained in:
parent
b949240d4a
commit
24c82c2475
1 changed files with 12 additions and 15 deletions
|
@ -3,7 +3,6 @@
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
from typing import Any
|
from typing import Any
|
||||||
from unittest.mock import patch
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
@ -26,7 +25,7 @@ from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
||||||
from homeassistant.util import dt as dt_util
|
from homeassistant.util import dt as dt_util
|
||||||
|
|
||||||
from .test_gateway import DECONZ_WEB_REQUEST, setup_deconz_integration
|
from .test_gateway import setup_deconz_integration
|
||||||
|
|
||||||
from tests.common import async_fire_time_changed
|
from tests.common import async_fire_time_changed
|
||||||
from tests.test_util.aiohttp import AiohttpClientMocker
|
from tests.test_util.aiohttp import AiohttpClientMocker
|
||||||
|
@ -911,23 +910,17 @@ TEST_DATA = [
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(("sensor_data", "expected"), TEST_DATA)
|
@pytest.mark.parametrize(("sensor_1_payload", "expected"), TEST_DATA)
|
||||||
|
@pytest.mark.parametrize("config_entry_options", [{CONF_ALLOW_CLIP_SENSOR: True}])
|
||||||
async def test_sensors(
|
async def test_sensors(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
device_registry: dr.DeviceRegistry,
|
device_registry: dr.DeviceRegistry,
|
||||||
entity_registry: er.EntityRegistry,
|
entity_registry: er.EntityRegistry,
|
||||||
aioclient_mock: AiohttpClientMocker,
|
config_entry_setup: ConfigEntry,
|
||||||
mock_deconz_websocket,
|
mock_deconz_websocket,
|
||||||
sensor_data,
|
expected: dict[str, Any],
|
||||||
expected,
|
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test successful creation of sensor entities."""
|
"""Test successful creation of sensor entities."""
|
||||||
|
|
||||||
with patch.dict(DECONZ_WEB_REQUEST, {"sensors": {"1": sensor_data}}):
|
|
||||||
config_entry = await setup_deconz_integration(
|
|
||||||
hass, aioclient_mock, options={CONF_ALLOW_CLIP_SENSOR: True}
|
|
||||||
)
|
|
||||||
|
|
||||||
# Enable in entity registry
|
# Enable in entity registry
|
||||||
if expected.get("enable_entity"):
|
if expected.get("enable_entity"):
|
||||||
entity_registry.async_update_entity(
|
entity_registry.async_update_entity(
|
||||||
|
@ -960,7 +953,11 @@ async def test_sensors(
|
||||||
|
|
||||||
# Verify device registry
|
# Verify device registry
|
||||||
assert (
|
assert (
|
||||||
len(dr.async_entries_for_config_entry(device_registry, config_entry.entry_id))
|
len(
|
||||||
|
dr.async_entries_for_config_entry(
|
||||||
|
device_registry, config_entry_setup.entry_id
|
||||||
|
)
|
||||||
|
)
|
||||||
== expected["device_count"]
|
== expected["device_count"]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -974,12 +971,12 @@ async def test_sensors(
|
||||||
|
|
||||||
# Unload entry
|
# Unload entry
|
||||||
|
|
||||||
await hass.config_entries.async_unload(config_entry.entry_id)
|
await hass.config_entries.async_unload(config_entry_setup.entry_id)
|
||||||
assert hass.states.get(expected["entity_id"]).state == STATE_UNAVAILABLE
|
assert hass.states.get(expected["entity_id"]).state == STATE_UNAVAILABLE
|
||||||
|
|
||||||
# Remove entry
|
# Remove entry
|
||||||
|
|
||||||
await hass.config_entries.async_remove(config_entry.entry_id)
|
await hass.config_entries.async_remove(config_entry_setup.entry_id)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
assert len(hass.states.async_all()) == 0
|
assert len(hass.states.async_all()) == 0
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue