mirror of
https://github.com/home-assistant/core.git
synced 2025-04-25 01:38:02 +00:00
Use snapshot in deCONZ sensor tests (#122543)
This commit is contained in:
parent
5bda072141
commit
277883e756
2297
tests/components/deconz/snapshots/test_sensor.ambr
Normal file
2297
tests/components/deconz/snapshots/test_sensor.ambr
Normal file
File diff suppressed because it is too large
Load Diff
@ -2,31 +2,22 @@
|
||||
|
||||
from datetime import timedelta
|
||||
from typing import Any
|
||||
from unittest.mock import patch
|
||||
|
||||
import pytest
|
||||
from syrupy import SnapshotAssertion
|
||||
|
||||
from homeassistant.components.deconz.const import CONF_ALLOW_CLIP_SENSOR
|
||||
from homeassistant.components.sensor import (
|
||||
DOMAIN as SENSOR_DOMAIN,
|
||||
SensorDeviceClass,
|
||||
SensorStateClass,
|
||||
)
|
||||
from homeassistant.config_entries import RELOAD_AFTER_UPDATE_DELAY, ConfigEntry
|
||||
from homeassistant.const import (
|
||||
ATTR_DEVICE_CLASS,
|
||||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||
CONCENTRATION_PARTS_PER_BILLION,
|
||||
CONCENTRATION_PARTS_PER_MILLION,
|
||||
STATE_UNAVAILABLE,
|
||||
EntityCategory,
|
||||
)
|
||||
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
|
||||
from homeassistant.config_entries import RELOAD_AFTER_UPDATE_DELAY
|
||||
from homeassistant.const import STATE_UNAVAILABLE, Platform
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
||||
from homeassistant.helpers import entity_registry as er
|
||||
from homeassistant.util import dt as dt_util
|
||||
|
||||
from .conftest import ConfigEntryFactoryType, WebsocketDataType
|
||||
|
||||
from tests.common import async_fire_time_changed
|
||||
from tests.common import async_fire_time_changed, snapshot_platform
|
||||
|
||||
TEST_DATA = [
|
||||
( # Air quality sensor
|
||||
@ -51,17 +42,7 @@ TEST_DATA = [
|
||||
"uniqueid": "00:12:4b:00:14:4d:00:07-02-fdef",
|
||||
},
|
||||
{
|
||||
"entity_count": 2,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.bosch_air_quality_sensor",
|
||||
"unique_id": "00:12:4b:00:14:4d:00:07-02-fdef-air_quality",
|
||||
"state": "poor",
|
||||
"entity_category": None,
|
||||
"device_class": None,
|
||||
"state_class": None,
|
||||
"attributes": {
|
||||
"friendly_name": "BOSCH Air quality sensor",
|
||||
},
|
||||
"websocket_event": {"state": {"airquality": "excellent"}},
|
||||
"next_state": "excellent",
|
||||
},
|
||||
@ -88,19 +69,7 @@ TEST_DATA = [
|
||||
"uniqueid": "00:12:4b:00:14:4d:00:07-02-fdef",
|
||||
},
|
||||
{
|
||||
"entity_count": 2,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.bosch_air_quality_sensor_ppb",
|
||||
"unique_id": "00:12:4b:00:14:4d:00:07-02-fdef-air_quality_ppb",
|
||||
"state": "809",
|
||||
"entity_category": None,
|
||||
"device_class": None,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"attributes": {
|
||||
"friendly_name": "BOSCH Air quality sensor PPB",
|
||||
"state_class": "measurement",
|
||||
"unit_of_measurement": CONCENTRATION_PARTS_PER_BILLION,
|
||||
},
|
||||
"websocket_event": {"state": {"airqualityppb": 1000}},
|
||||
"next_state": "1000",
|
||||
},
|
||||
@ -127,20 +96,7 @@ TEST_DATA = [
|
||||
"uniqueid": "00:00:00:00:00:00:00:01-02-0113",
|
||||
},
|
||||
{
|
||||
"entity_count": 4,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.airquality_1_co2",
|
||||
"unique_id": "00:00:00:00:00:00:00:01-02-0113-air_quality_co2",
|
||||
"state": "359",
|
||||
"entity_category": None,
|
||||
"device_class": SensorDeviceClass.CO2,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"attributes": {
|
||||
"friendly_name": "AirQuality 1 CO2",
|
||||
"device_class": SensorDeviceClass.CO2,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"unit_of_measurement": CONCENTRATION_PARTS_PER_MILLION,
|
||||
},
|
||||
"websocket_event": {"state": {"airquality_co2_density": 332}},
|
||||
"next_state": "332",
|
||||
},
|
||||
@ -167,20 +123,7 @@ TEST_DATA = [
|
||||
"uniqueid": "00:00:00:00:00:00:00:01-02-0113",
|
||||
},
|
||||
{
|
||||
"entity_count": 4,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.airquality_1_ch2o",
|
||||
"unique_id": "00:00:00:00:00:00:00:01-02-0113-air_quality_formaldehyde",
|
||||
"state": "4",
|
||||
"entity_category": None,
|
||||
"device_class": SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"attributes": {
|
||||
"friendly_name": "AirQuality 1 CH2O",
|
||||
"device_class": SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"unit_of_measurement": CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||
},
|
||||
"websocket_event": {"state": {"airquality_formaldehyde_density": 5}},
|
||||
"next_state": "5",
|
||||
},
|
||||
@ -207,20 +150,7 @@ TEST_DATA = [
|
||||
"uniqueid": "00:00:00:00:00:00:00:01-02-0113",
|
||||
},
|
||||
{
|
||||
"entity_count": 4,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.airquality_1_pm25",
|
||||
"unique_id": "00:00:00:00:00:00:00:01-02-0113-air_quality_pm2_5",
|
||||
"state": "8",
|
||||
"entity_category": None,
|
||||
"device_class": SensorDeviceClass.PM25,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"attributes": {
|
||||
"friendly_name": "AirQuality 1 PM25",
|
||||
"device_class": SensorDeviceClass.PM25,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"unit_of_measurement": CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||
},
|
||||
"websocket_event": {"state": {"pm2_5": 11}},
|
||||
"next_state": "11",
|
||||
},
|
||||
@ -246,21 +176,7 @@ TEST_DATA = [
|
||||
"uniqueid": "00:0d:6f:ff:fe:01:23:45-01-0001",
|
||||
},
|
||||
{
|
||||
"entity_count": 1,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.fyrtur_block_out_roller_blind_battery",
|
||||
"unique_id": "00:0d:6f:ff:fe:01:23:45-01-0001-battery",
|
||||
"state": "100",
|
||||
"entity_category": EntityCategory.DIAGNOSTIC,
|
||||
"device_class": SensorDeviceClass.BATTERY,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"attributes": {
|
||||
"state_class": "measurement",
|
||||
"on": True,
|
||||
"unit_of_measurement": "%",
|
||||
"device_class": "battery",
|
||||
"friendly_name": "FYRTUR block-out roller blind Battery",
|
||||
},
|
||||
"websocket_event": {"state": {"battery": 50}},
|
||||
"next_state": "50",
|
||||
},
|
||||
@ -290,20 +206,7 @@ TEST_DATA = [
|
||||
"uniqueid": "xx:xx:xx:xx:xx:xx:xx:xx-01-040d",
|
||||
},
|
||||
{
|
||||
"entity_count": 1,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.carbondioxide_35",
|
||||
"unique_id": "xx:xx:xx:xx:xx:xx:xx:xx-01-040d-carbon_dioxide",
|
||||
"state": "370",
|
||||
"entity_category": None,
|
||||
"device_class": SensorDeviceClass.CO2,
|
||||
"state_class": CONCENTRATION_PARTS_PER_BILLION,
|
||||
"attributes": {
|
||||
"device_class": "carbon_dioxide",
|
||||
"friendly_name": "CarbonDioxide 35",
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"unit_of_measurement": CONCENTRATION_PARTS_PER_BILLION,
|
||||
},
|
||||
"websocket_event": {"state": {"measured_value": 500}},
|
||||
"next_state": "500",
|
||||
},
|
||||
@ -325,22 +228,7 @@ TEST_DATA = [
|
||||
"uniqueid": "00:0d:6f:00:0b:7a:64:29-01-0702",
|
||||
},
|
||||
{
|
||||
"entity_count": 1,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.consumption_15",
|
||||
"unique_id": "00:0d:6f:00:0b:7a:64:29-01-0702-consumption",
|
||||
"state": "11.342",
|
||||
"entity_category": None,
|
||||
"device_class": SensorDeviceClass.ENERGY,
|
||||
"state_class": SensorStateClass.TOTAL_INCREASING,
|
||||
"attributes": {
|
||||
"state_class": "total_increasing",
|
||||
"on": True,
|
||||
"power": 123,
|
||||
"unit_of_measurement": "kWh",
|
||||
"device_class": "energy",
|
||||
"friendly_name": "Consumption 15",
|
||||
},
|
||||
"websocket_event": {"state": {"consumption": 10000}},
|
||||
"next_state": "10.0",
|
||||
},
|
||||
@ -368,21 +256,7 @@ TEST_DATA = [
|
||||
},
|
||||
{
|
||||
"enable_entity": True,
|
||||
"entity_count": 1,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.daylight",
|
||||
"unique_id": "01:23:4E:FF:FF:56:78:9A-01-daylight_status",
|
||||
"old-unique_id": "01:23:4E:FF:FF:56:78:9A-01",
|
||||
"state": "solar_noon",
|
||||
"entity_category": None,
|
||||
"device_class": None,
|
||||
"state_class": None,
|
||||
"attributes": {
|
||||
"on": True,
|
||||
"daylight": True,
|
||||
"icon": "mdi:white-balance-sunny",
|
||||
"friendly_name": "Daylight",
|
||||
},
|
||||
"websocket_event": {"state": {"status": 210}},
|
||||
"next_state": "dusk",
|
||||
},
|
||||
@ -412,20 +286,7 @@ TEST_DATA = [
|
||||
"uniqueid": "xx:xx:xx:xx:xx:xx:xx:xx-01-042b",
|
||||
},
|
||||
{
|
||||
"entity_count": 1,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.formaldehyde_34",
|
||||
"unique_id": "xx:xx:xx:xx:xx:xx:xx:xx-01-042b-formaldehyde",
|
||||
"state": "1",
|
||||
"entity_category": None,
|
||||
"device_class": SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"attributes": {
|
||||
"device_class": "volatile_organic_compounds",
|
||||
"friendly_name": "Formaldehyde 34",
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"unit_of_measurement": CONCENTRATION_PARTS_PER_BILLION,
|
||||
},
|
||||
"websocket_event": {"state": {"measured_value": 2}},
|
||||
"next_state": "2",
|
||||
},
|
||||
@ -449,18 +310,7 @@ TEST_DATA = [
|
||||
"uniqueid": "fsm-state-1520195376277",
|
||||
},
|
||||
{
|
||||
"entity_count": 1,
|
||||
"device_count": 2,
|
||||
"entity_id": "sensor.fsm_state_motion_stair",
|
||||
"unique_id": "fsm-state-1520195376277-status",
|
||||
"state": "0",
|
||||
"entity_category": None,
|
||||
"device_class": None,
|
||||
"state_class": None,
|
||||
"attributes": {
|
||||
"on": True,
|
||||
"friendly_name": "FSM_STATE Motion stair",
|
||||
},
|
||||
"websocket_event": {"state": {"status": 1}},
|
||||
"next_state": "1",
|
||||
},
|
||||
@ -487,24 +337,7 @@ TEST_DATA = [
|
||||
"uniqueid": "00:15:8d:00:02:45:dc:53-01-0405",
|
||||
},
|
||||
{
|
||||
"entity_count": 2,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.mi_temperature_1",
|
||||
"unique_id": "00:15:8d:00:02:45:dc:53-01-0405-humidity",
|
||||
"state": "35.55",
|
||||
"entity_category": None,
|
||||
"device_class": SensorDeviceClass.HUMIDITY,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"attributes": {
|
||||
"state_class": "measurement",
|
||||
"on": True,
|
||||
"unit_of_measurement": "%",
|
||||
"device_class": "humidity",
|
||||
"friendly_name": "Mi temperature 1",
|
||||
},
|
||||
"options": {
|
||||
"suggested_display_precision": 1,
|
||||
},
|
||||
"websocket_event": {"state": {"humidity": 1000}},
|
||||
"next_state": "10.0",
|
||||
},
|
||||
@ -528,20 +361,7 @@ TEST_DATA = [
|
||||
"uniqueid": "a4:c1:38:fe:86:8f:07:a3-01-0408",
|
||||
},
|
||||
{
|
||||
"entity_count": 3,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.soil_sensor",
|
||||
"unique_id": "a4:c1:38:fe:86:8f:07:a3-01-0408-moisture",
|
||||
"state": "72.13",
|
||||
"entity_category": None,
|
||||
"device_class": SensorDeviceClass.MOISTURE,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"attributes": {
|
||||
"state_class": "measurement",
|
||||
"unit_of_measurement": "%",
|
||||
"device_class": "moisture",
|
||||
"friendly_name": "Soil Sensor",
|
||||
},
|
||||
"websocket_event": {"state": {"moisture": 6923}},
|
||||
"next_state": "69.23",
|
||||
},
|
||||
@ -576,23 +396,7 @@ TEST_DATA = [
|
||||
"uniqueid": "00:17:88:01:03:28:8c:9b-02-0400",
|
||||
},
|
||||
{
|
||||
"entity_count": 2,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.motion_sensor_4",
|
||||
"unique_id": "00:17:88:01:03:28:8c:9b-02-0400-light_level",
|
||||
"state": "5.0",
|
||||
"entity_category": None,
|
||||
"device_class": SensorDeviceClass.ILLUMINANCE,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"attributes": {
|
||||
"on": True,
|
||||
"dark": True,
|
||||
"daylight": False,
|
||||
"unit_of_measurement": "lx",
|
||||
"device_class": "illuminance",
|
||||
"friendly_name": "Motion sensor 4",
|
||||
"state_class": "measurement",
|
||||
},
|
||||
"websocket_event": {"state": {"lightlevel": 1000}},
|
||||
"next_state": "1.3",
|
||||
},
|
||||
@ -628,20 +432,7 @@ TEST_DATA = [
|
||||
"uniqueid": "xx:xx:xx:xx:xx:xx:xx:xx-01-042a",
|
||||
},
|
||||
{
|
||||
"entity_count": 1,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.starkvind_airpurifier_pm25",
|
||||
"unique_id": "xx:xx:xx:xx:xx:xx:xx:xx-01-042a-particulate_matter_pm2_5",
|
||||
"state": "1",
|
||||
"entity_category": None,
|
||||
"device_class": SensorDeviceClass.PM25,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"attributes": {
|
||||
"friendly_name": "STARKVIND AirPurifier PM25",
|
||||
"device_class": SensorDeviceClass.PM25,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"unit_of_measurement": CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||
},
|
||||
"websocket_event": {"state": {"measured_value": 2}},
|
||||
"next_state": "2",
|
||||
},
|
||||
@ -667,23 +458,7 @@ TEST_DATA = [
|
||||
"uniqueid": "00:0d:6f:00:0b:7a:64:29-01-0b04",
|
||||
},
|
||||
{
|
||||
"entity_count": 1,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.power_16",
|
||||
"unique_id": "00:0d:6f:00:0b:7a:64:29-01-0b04-power",
|
||||
"state": "64",
|
||||
"entity_category": None,
|
||||
"device_class": SensorDeviceClass.POWER,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"attributes": {
|
||||
"state_class": "measurement",
|
||||
"on": True,
|
||||
"current": 34,
|
||||
"voltage": 231,
|
||||
"unit_of_measurement": "W",
|
||||
"device_class": "power",
|
||||
"friendly_name": "Power 16",
|
||||
},
|
||||
"websocket_event": {"state": {"power": 1000}},
|
||||
"next_state": "1000",
|
||||
},
|
||||
@ -709,21 +484,7 @@ TEST_DATA = [
|
||||
"uniqueid": "00:15:8d:00:02:45:dc:53-01-0403",
|
||||
},
|
||||
{
|
||||
"entity_count": 2,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.mi_temperature_1",
|
||||
"unique_id": "00:15:8d:00:02:45:dc:53-01-0403-pressure",
|
||||
"state": "1010",
|
||||
"entity_category": None,
|
||||
"device_class": SensorDeviceClass.PRESSURE,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"attributes": {
|
||||
"state_class": "measurement",
|
||||
"on": True,
|
||||
"unit_of_measurement": "hPa",
|
||||
"device_class": "pressure",
|
||||
"friendly_name": "Mi temperature 1",
|
||||
},
|
||||
"websocket_event": {"state": {"pressure": 500}},
|
||||
"next_state": "500",
|
||||
},
|
||||
@ -750,24 +511,7 @@ TEST_DATA = [
|
||||
"uniqueid": "00:15:8d:00:02:45:dc:53-01-0402",
|
||||
},
|
||||
{
|
||||
"entity_count": 2,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.mi_temperature_1",
|
||||
"unique_id": "00:15:8d:00:02:45:dc:53-01-0402-temperature",
|
||||
"state": "21.82",
|
||||
"entity_category": None,
|
||||
"device_class": SensorDeviceClass.TEMPERATURE,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"attributes": {
|
||||
"state_class": "measurement",
|
||||
"on": True,
|
||||
"unit_of_measurement": "°C",
|
||||
"device_class": "temperature",
|
||||
"friendly_name": "Mi temperature 1",
|
||||
},
|
||||
"options": {
|
||||
"suggested_display_precision": 1,
|
||||
},
|
||||
"websocket_event": {"state": {"temperature": 1800}},
|
||||
"next_state": "18.0",
|
||||
},
|
||||
@ -796,17 +540,7 @@ TEST_DATA = [
|
||||
"uniqueid": "cc:cc:cc:ff:fe:38:4d:b3-01-000a",
|
||||
},
|
||||
{
|
||||
"entity_count": 2,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.etrv_sejour",
|
||||
"unique_id": "cc:cc:cc:ff:fe:38:4d:b3-01-000a-last_set",
|
||||
"state": "2020-11-19T08:07:08+00:00",
|
||||
"entity_category": None,
|
||||
"device_class": SensorDeviceClass.TIMESTAMP,
|
||||
"attributes": {
|
||||
"device_class": "timestamp",
|
||||
"friendly_name": "eTRV Séjour",
|
||||
},
|
||||
"websocket_event": {"state": {"lastset": "2020-12-14T10:12:14Z"}},
|
||||
"next_state": "2020-12-14T10:12:14+00:00",
|
||||
},
|
||||
@ -835,20 +569,7 @@ TEST_DATA = [
|
||||
"uniqueid": "00:15:8d:00:02:b5:d1:80-01-0500",
|
||||
},
|
||||
{
|
||||
"entity_count": 3,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.alarm_10_temperature",
|
||||
"unique_id": "00:15:8d:00:02:b5:d1:80-01-0500-internal_temperature",
|
||||
"state": "26.0",
|
||||
"entity_category": None,
|
||||
"device_class": SensorDeviceClass.TEMPERATURE,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"attributes": {
|
||||
"state_class": "measurement",
|
||||
"unit_of_measurement": "°C",
|
||||
"device_class": "temperature",
|
||||
"friendly_name": "Alarm 10 Temperature",
|
||||
},
|
||||
"websocket_event": {"state": {"temperature": 1800}},
|
||||
"next_state": "26.0",
|
||||
},
|
||||
@ -876,22 +597,7 @@ TEST_DATA = [
|
||||
"uniqueid": "00:17:88:01:02:0e:32:a3-02-fc00",
|
||||
},
|
||||
{
|
||||
"entity_count": 1,
|
||||
"device_count": 3,
|
||||
"entity_id": "sensor.dimmer_switch_3_battery",
|
||||
"unique_id": "00:17:88:01:02:0e:32:a3-02-fc00-battery",
|
||||
"state": "90",
|
||||
"entity_category": EntityCategory.DIAGNOSTIC,
|
||||
"device_class": SensorDeviceClass.BATTERY,
|
||||
"state_class": SensorStateClass.MEASUREMENT,
|
||||
"attributes": {
|
||||
"state_class": "measurement",
|
||||
"on": True,
|
||||
"event_id": "dimmer_switch_3",
|
||||
"unit_of_measurement": "%",
|
||||
"device_class": "battery",
|
||||
"friendly_name": "Dimmer switch 3 Battery",
|
||||
},
|
||||
"websocket_event": {"config": {"battery": 80}},
|
||||
"next_state": "80",
|
||||
},
|
||||
@ -903,13 +609,16 @@ TEST_DATA = [
|
||||
@pytest.mark.parametrize("config_entry_options", [{CONF_ALLOW_CLIP_SENSOR: True}])
|
||||
async def test_sensors(
|
||||
hass: HomeAssistant,
|
||||
device_registry: dr.DeviceRegistry,
|
||||
entity_registry: er.EntityRegistry,
|
||||
config_entry_setup: ConfigEntry,
|
||||
config_entry_factory: ConfigEntryFactoryType,
|
||||
sensor_ws_data: WebsocketDataType,
|
||||
expected: dict[str, Any],
|
||||
snapshot: SnapshotAssertion,
|
||||
) -> None:
|
||||
"""Test successful creation of sensor entities."""
|
||||
with patch("homeassistant.components.deconz.PLATFORMS", [Platform.SENSOR]):
|
||||
config_entry = await config_entry_factory()
|
||||
|
||||
# Enable in entity registry
|
||||
if expected.get("enable_entity"):
|
||||
entity_registry.async_update_entity(
|
||||
@ -923,32 +632,7 @@ async def test_sensors(
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
assert len(hass.states.async_all()) == expected["entity_count"]
|
||||
|
||||
# Verify entity state
|
||||
sensor = hass.states.get(expected["entity_id"])
|
||||
assert sensor.state == expected["state"]
|
||||
assert sensor.attributes.get(ATTR_DEVICE_CLASS) == expected["device_class"]
|
||||
assert sensor.attributes == expected["attributes"]
|
||||
|
||||
# Verify entity registry
|
||||
assert (
|
||||
entity_registry.async_get(expected["entity_id"]).entity_category
|
||||
is expected["entity_category"]
|
||||
)
|
||||
ent_reg_entry = entity_registry.async_get(expected["entity_id"])
|
||||
assert ent_reg_entry.entity_category is expected["entity_category"]
|
||||
assert ent_reg_entry.unique_id == expected["unique_id"]
|
||||
|
||||
# Verify device registry
|
||||
assert (
|
||||
len(
|
||||
dr.async_entries_for_config_entry(
|
||||
device_registry, config_entry_setup.entry_id
|
||||
)
|
||||
)
|
||||
== expected["device_count"]
|
||||
)
|
||||
await snapshot_platform(hass, entity_registry, snapshot, config_entry.entry_id)
|
||||
|
||||
# Change state
|
||||
|
||||
@ -957,12 +641,12 @@ async def test_sensors(
|
||||
|
||||
# Unload entry
|
||||
|
||||
await hass.config_entries.async_unload(config_entry_setup.entry_id)
|
||||
await hass.config_entries.async_unload(config_entry.entry_id)
|
||||
assert hass.states.get(expected["entity_id"]).state == STATE_UNAVAILABLE
|
||||
|
||||
# Remove entry
|
||||
|
||||
await hass.config_entries.async_remove(config_entry_setup.entry_id)
|
||||
await hass.config_entries.async_remove(config_entry.entry_id)
|
||||
await hass.async_block_till_done()
|
||||
assert len(hass.states.async_all()) == 0
|
||||
|
||||
@ -1021,17 +705,20 @@ async def test_not_allow_clip_sensor(hass: HomeAssistant) -> None:
|
||||
)
|
||||
@pytest.mark.parametrize("config_entry_options", [{CONF_ALLOW_CLIP_SENSOR: True}])
|
||||
async def test_allow_clip_sensors(
|
||||
hass: HomeAssistant, config_entry_setup: ConfigEntry
|
||||
hass: HomeAssistant,
|
||||
entity_registry: er.EntityRegistry,
|
||||
config_entry_factory: ConfigEntryFactoryType,
|
||||
snapshot: SnapshotAssertion,
|
||||
) -> None:
|
||||
"""Test that CLIP sensors can be allowed."""
|
||||
assert len(hass.states.async_all()) == 4
|
||||
assert hass.states.get("sensor.clip_light_level_sensor").state == "999.8"
|
||||
assert hass.states.get("sensor.clip_flur").state == "0"
|
||||
with patch("homeassistant.components.deconz.PLATFORMS", [Platform.SENSOR]):
|
||||
config_entry = await config_entry_factory()
|
||||
await snapshot_platform(hass, entity_registry, snapshot, config_entry.entry_id)
|
||||
|
||||
# Disallow clip sensors
|
||||
|
||||
hass.config_entries.async_update_entry(
|
||||
config_entry_setup, options={CONF_ALLOW_CLIP_SENSOR: False}
|
||||
config_entry, options={CONF_ALLOW_CLIP_SENSOR: False}
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
@ -1042,7 +729,7 @@ async def test_allow_clip_sensors(
|
||||
# Allow clip sensors
|
||||
|
||||
hass.config_entries.async_update_entry(
|
||||
config_entry_setup, options={CONF_ALLOW_CLIP_SENSOR: True}
|
||||
config_entry, options={CONF_ALLOW_CLIP_SENSOR: True}
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user