Use DeviceClass Enums in deconz tests (#62114)

This commit is contained in:
Dave T 2021-12-16 20:46:01 +00:00 committed by GitHub
parent 329d90b568
commit 373790cb15
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 30 deletions

View file

@ -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)

View file

@ -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")