Use DeviceClass Enums in deconz tests (#62114)
This commit is contained in:
parent
329d90b568
commit
373790cb15
2 changed files with 33 additions and 30 deletions
|
@ -2,11 +2,7 @@
|
||||||
|
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
from homeassistant.components.binary_sensor import (
|
from homeassistant.components.binary_sensor import BinarySensorDeviceClass
|
||||||
DEVICE_CLASS_MOTION,
|
|
||||||
DEVICE_CLASS_TAMPER,
|
|
||||||
DEVICE_CLASS_VIBRATION,
|
|
||||||
)
|
|
||||||
from homeassistant.components.deconz.const import (
|
from homeassistant.components.deconz.const import (
|
||||||
CONF_ALLOW_CLIP_SENSOR,
|
CONF_ALLOW_CLIP_SENSOR,
|
||||||
CONF_ALLOW_NEW_DEVICES,
|
CONF_ALLOW_NEW_DEVICES,
|
||||||
|
@ -14,15 +10,15 @@ from homeassistant.components.deconz.const import (
|
||||||
DOMAIN as DECONZ_DOMAIN,
|
DOMAIN as DECONZ_DOMAIN,
|
||||||
)
|
)
|
||||||
from homeassistant.components.deconz.services import SERVICE_DEVICE_REFRESH
|
from homeassistant.components.deconz.services import SERVICE_DEVICE_REFRESH
|
||||||
|
from homeassistant.components.sensor import SensorDeviceClass
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_DEVICE_CLASS,
|
ATTR_DEVICE_CLASS,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
|
||||||
ENTITY_CATEGORY_DIAGNOSTIC,
|
|
||||||
STATE_OFF,
|
STATE_OFF,
|
||||||
STATE_ON,
|
STATE_ON,
|
||||||
STATE_UNAVAILABLE,
|
STATE_UNAVAILABLE,
|
||||||
)
|
)
|
||||||
from homeassistant.helpers import entity_registry as er
|
from homeassistant.helpers import entity_registry as er
|
||||||
|
from homeassistant.helpers.entity import EntityCategory
|
||||||
from homeassistant.helpers.entity_registry import async_entries_for_config_entry
|
from homeassistant.helpers.entity_registry import async_entries_for_config_entry
|
||||||
|
|
||||||
from .test_gateway import (
|
from .test_gateway import (
|
||||||
|
@ -83,18 +79,23 @@ async def test_binary_sensors(hass, aioclient_mock, mock_deconz_websocket):
|
||||||
assert len(hass.states.async_all()) == 5
|
assert len(hass.states.async_all()) == 5
|
||||||
presence_sensor = hass.states.get("binary_sensor.presence_sensor")
|
presence_sensor = hass.states.get("binary_sensor.presence_sensor")
|
||||||
assert presence_sensor.state == STATE_OFF
|
assert presence_sensor.state == STATE_OFF
|
||||||
assert presence_sensor.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_MOTION
|
assert (
|
||||||
|
presence_sensor.attributes[ATTR_DEVICE_CLASS] == BinarySensorDeviceClass.MOTION
|
||||||
|
)
|
||||||
presence_temp = hass.states.get("sensor.presence_sensor_temperature")
|
presence_temp = hass.states.get("sensor.presence_sensor_temperature")
|
||||||
assert presence_temp.state == "0.1"
|
assert presence_temp.state == "0.1"
|
||||||
assert presence_temp.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_TEMPERATURE
|
assert presence_temp.attributes[ATTR_DEVICE_CLASS] == SensorDeviceClass.TEMPERATURE
|
||||||
assert hass.states.get("binary_sensor.temperature_sensor") is None
|
assert hass.states.get("binary_sensor.temperature_sensor") is None
|
||||||
assert hass.states.get("binary_sensor.clip_presence_sensor") is None
|
assert hass.states.get("binary_sensor.clip_presence_sensor") is None
|
||||||
vibration_sensor = hass.states.get("binary_sensor.vibration_sensor")
|
vibration_sensor = hass.states.get("binary_sensor.vibration_sensor")
|
||||||
assert vibration_sensor.state == STATE_ON
|
assert vibration_sensor.state == STATE_ON
|
||||||
assert vibration_sensor.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_VIBRATION
|
assert (
|
||||||
|
vibration_sensor.attributes[ATTR_DEVICE_CLASS]
|
||||||
|
== BinarySensorDeviceClass.VIBRATION
|
||||||
|
)
|
||||||
vibration_temp = hass.states.get("sensor.vibration_sensor_temperature")
|
vibration_temp = hass.states.get("sensor.vibration_sensor_temperature")
|
||||||
assert vibration_temp.state == "0.1"
|
assert vibration_temp.state == "0.1"
|
||||||
assert vibration_temp.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_TEMPERATURE
|
assert vibration_temp.attributes[ATTR_DEVICE_CLASS] == SensorDeviceClass.TEMPERATURE
|
||||||
|
|
||||||
event_changed_sensor = {
|
event_changed_sensor = {
|
||||||
"t": "event",
|
"t": "event",
|
||||||
|
@ -139,7 +140,9 @@ async def test_tampering_sensor(hass, aioclient_mock, mock_deconz_websocket):
|
||||||
assert len(hass.states.async_all()) == 3
|
assert len(hass.states.async_all()) == 3
|
||||||
presence_tamper = hass.states.get("binary_sensor.presence_sensor_tampered")
|
presence_tamper = hass.states.get("binary_sensor.presence_sensor_tampered")
|
||||||
assert presence_tamper.state == STATE_OFF
|
assert presence_tamper.state == STATE_OFF
|
||||||
assert presence_tamper.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_TAMPER
|
assert (
|
||||||
|
presence_tamper.attributes[ATTR_DEVICE_CLASS] == BinarySensorDeviceClass.TAMPER
|
||||||
|
)
|
||||||
|
|
||||||
event_changed_sensor = {
|
event_changed_sensor = {
|
||||||
"t": "event",
|
"t": "event",
|
||||||
|
@ -154,7 +157,7 @@ async def test_tampering_sensor(hass, aioclient_mock, mock_deconz_websocket):
|
||||||
assert hass.states.get("binary_sensor.presence_sensor_tampered").state == STATE_ON
|
assert hass.states.get("binary_sensor.presence_sensor_tampered").state == STATE_ON
|
||||||
assert (
|
assert (
|
||||||
ent_reg.async_get("binary_sensor.presence_sensor_tampered").entity_category
|
ent_reg.async_get("binary_sensor.presence_sensor_tampered").entity_category
|
||||||
== ENTITY_CATEGORY_DIAGNOSTIC
|
== EntityCategory.DIAGNOSTIC
|
||||||
)
|
)
|
||||||
|
|
||||||
await hass.config_entries.async_unload(config_entry.entry_id)
|
await hass.config_entries.async_unload(config_entry.entry_id)
|
||||||
|
|
|
@ -5,19 +5,11 @@ from unittest.mock import patch
|
||||||
|
|
||||||
from homeassistant.components.deconz.const import CONF_ALLOW_CLIP_SENSOR
|
from homeassistant.components.deconz.const import CONF_ALLOW_CLIP_SENSOR
|
||||||
from homeassistant.components.deconz.sensor import ATTR_DAYLIGHT
|
from homeassistant.components.deconz.sensor import ATTR_DAYLIGHT
|
||||||
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
|
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN, SensorDeviceClass
|
||||||
from homeassistant.config_entries import RELOAD_AFTER_UPDATE_DELAY
|
from homeassistant.config_entries import RELOAD_AFTER_UPDATE_DELAY
|
||||||
from homeassistant.const import (
|
from homeassistant.const import ATTR_DEVICE_CLASS, STATE_UNAVAILABLE
|
||||||
ATTR_DEVICE_CLASS,
|
|
||||||
DEVICE_CLASS_BATTERY,
|
|
||||||
DEVICE_CLASS_ENERGY,
|
|
||||||
DEVICE_CLASS_ILLUMINANCE,
|
|
||||||
DEVICE_CLASS_POWER,
|
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
|
||||||
ENTITY_CATEGORY_DIAGNOSTIC,
|
|
||||||
STATE_UNAVAILABLE,
|
|
||||||
)
|
|
||||||
from homeassistant.helpers import entity_registry as er
|
from homeassistant.helpers import entity_registry as er
|
||||||
|
from homeassistant.helpers.entity import EntityCategory
|
||||||
from homeassistant.util import dt
|
from homeassistant.util import dt
|
||||||
|
|
||||||
from .test_gateway import DECONZ_WEB_REQUEST, setup_deconz_integration
|
from .test_gateway import DECONZ_WEB_REQUEST, setup_deconz_integration
|
||||||
|
@ -97,12 +89,17 @@ async def test_sensors(hass, aioclient_mock, mock_deconz_websocket):
|
||||||
|
|
||||||
light_level_sensor = hass.states.get("sensor.light_level_sensor")
|
light_level_sensor = hass.states.get("sensor.light_level_sensor")
|
||||||
assert light_level_sensor.state == "999.8"
|
assert light_level_sensor.state == "999.8"
|
||||||
assert light_level_sensor.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_ILLUMINANCE
|
assert (
|
||||||
|
light_level_sensor.attributes[ATTR_DEVICE_CLASS]
|
||||||
|
== SensorDeviceClass.ILLUMINANCE
|
||||||
|
)
|
||||||
assert light_level_sensor.attributes[ATTR_DAYLIGHT] == 6955
|
assert light_level_sensor.attributes[ATTR_DAYLIGHT] == 6955
|
||||||
|
|
||||||
light_level_temp = hass.states.get("sensor.light_level_sensor_temperature")
|
light_level_temp = hass.states.get("sensor.light_level_sensor_temperature")
|
||||||
assert light_level_temp.state == "0.1"
|
assert light_level_temp.state == "0.1"
|
||||||
assert light_level_temp.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_TEMPERATURE
|
assert (
|
||||||
|
light_level_temp.attributes[ATTR_DEVICE_CLASS] == SensorDeviceClass.TEMPERATURE
|
||||||
|
)
|
||||||
|
|
||||||
assert not hass.states.get("sensor.presence_sensor")
|
assert not hass.states.get("sensor.presence_sensor")
|
||||||
assert not hass.states.get("sensor.switch_1")
|
assert not hass.states.get("sensor.switch_1")
|
||||||
|
@ -111,21 +108,24 @@ async def test_sensors(hass, aioclient_mock, mock_deconz_websocket):
|
||||||
|
|
||||||
switch_2_battery_level = hass.states.get("sensor.switch_2_battery_level")
|
switch_2_battery_level = hass.states.get("sensor.switch_2_battery_level")
|
||||||
assert switch_2_battery_level.state == "100"
|
assert switch_2_battery_level.state == "100"
|
||||||
assert switch_2_battery_level.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_BATTERY
|
assert (
|
||||||
|
switch_2_battery_level.attributes[ATTR_DEVICE_CLASS]
|
||||||
|
== SensorDeviceClass.BATTERY
|
||||||
|
)
|
||||||
assert (
|
assert (
|
||||||
ent_reg.async_get("sensor.switch_2_battery_level").entity_category
|
ent_reg.async_get("sensor.switch_2_battery_level").entity_category
|
||||||
== ENTITY_CATEGORY_DIAGNOSTIC
|
== EntityCategory.DIAGNOSTIC
|
||||||
)
|
)
|
||||||
|
|
||||||
assert not hass.states.get("sensor.daylight_sensor")
|
assert not hass.states.get("sensor.daylight_sensor")
|
||||||
|
|
||||||
power_sensor = hass.states.get("sensor.power_sensor")
|
power_sensor = hass.states.get("sensor.power_sensor")
|
||||||
assert power_sensor.state == "6"
|
assert power_sensor.state == "6"
|
||||||
assert power_sensor.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_POWER
|
assert power_sensor.attributes[ATTR_DEVICE_CLASS] == SensorDeviceClass.POWER
|
||||||
|
|
||||||
consumption_sensor = hass.states.get("sensor.consumption_sensor")
|
consumption_sensor = hass.states.get("sensor.consumption_sensor")
|
||||||
assert consumption_sensor.state == "0.002"
|
assert consumption_sensor.state == "0.002"
|
||||||
assert consumption_sensor.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_ENERGY
|
assert consumption_sensor.attributes[ATTR_DEVICE_CLASS] == SensorDeviceClass.ENERGY
|
||||||
|
|
||||||
assert not hass.states.get("sensor.clip_light_level_sensor")
|
assert not hass.states.get("sensor.clip_light_level_sensor")
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue