Refactor enum zwave js tests (#62712)
* Use new enums in zwave_js tests * Convert == to is * Refactor some ATTR_ * as well. * Address review comments
This commit is contained in:
parent
c7b991f56b
commit
817f0c9aae
4 changed files with 48 additions and 64 deletions
|
@ -2,19 +2,11 @@
|
|||
from zwave_js_server.event import Event
|
||||
from zwave_js_server.model.node import Node
|
||||
|
||||
from homeassistant.components.binary_sensor import (
|
||||
DEVICE_CLASS_DOOR,
|
||||
DEVICE_CLASS_MOTION,
|
||||
DEVICE_CLASS_TAMPER,
|
||||
)
|
||||
from homeassistant.const import (
|
||||
DEVICE_CLASS_BATTERY,
|
||||
ENTITY_CATEGORY_DIAGNOSTIC,
|
||||
STATE_OFF,
|
||||
STATE_ON,
|
||||
)
|
||||
from homeassistant.components.binary_sensor import BinarySensorDeviceClass
|
||||
from homeassistant.const import ATTR_DEVICE_CLASS, STATE_OFF, STATE_ON
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers import entity_registry as er
|
||||
from homeassistant.helpers.entity import EntityCategory
|
||||
|
||||
from .common import (
|
||||
DISABLED_LEGACY_BINARY_SENSOR,
|
||||
|
@ -34,13 +26,13 @@ async def test_low_battery_sensor(hass, multisensor_6, integration):
|
|||
|
||||
assert state
|
||||
assert state.state == STATE_OFF
|
||||
assert state.attributes["device_class"] == DEVICE_CLASS_BATTERY
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == BinarySensorDeviceClass.BATTERY
|
||||
|
||||
registry = er.async_get(hass)
|
||||
entity_entry = registry.async_get(LOW_BATTERY_BINARY_SENSOR)
|
||||
|
||||
assert entity_entry
|
||||
assert entity_entry.entity_category == ENTITY_CATEGORY_DIAGNOSTIC
|
||||
assert entity_entry.entity_category is EntityCategory.DIAGNOSTIC
|
||||
|
||||
|
||||
async def test_enabled_legacy_sensor(hass, ecolink_door_sensor, integration):
|
||||
|
@ -52,7 +44,7 @@ async def test_enabled_legacy_sensor(hass, ecolink_door_sensor, integration):
|
|||
state = hass.states.get(ENABLED_LEGACY_BINARY_SENSOR)
|
||||
assert state
|
||||
assert state.state == STATE_OFF
|
||||
assert state.attributes.get("device_class") is None
|
||||
assert state.attributes.get(ATTR_DEVICE_CLASS) is None
|
||||
|
||||
# Test state updates from value updated event
|
||||
event = Event(
|
||||
|
@ -105,19 +97,19 @@ async def test_notification_sensor(hass, multisensor_6, integration):
|
|||
|
||||
assert state
|
||||
assert state.state == STATE_ON
|
||||
assert state.attributes["device_class"] == DEVICE_CLASS_MOTION
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == BinarySensorDeviceClass.MOTION
|
||||
|
||||
state = hass.states.get(TAMPER_SENSOR)
|
||||
|
||||
assert state
|
||||
assert state.state == STATE_OFF
|
||||
assert state.attributes["device_class"] == DEVICE_CLASS_TAMPER
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == BinarySensorDeviceClass.TAMPER
|
||||
|
||||
registry = er.async_get(hass)
|
||||
entity_entry = registry.async_get(TAMPER_SENSOR)
|
||||
|
||||
assert entity_entry
|
||||
assert entity_entry.entity_category == ENTITY_CATEGORY_DIAGNOSTIC
|
||||
assert entity_entry.entity_category is EntityCategory.DIAGNOSTIC
|
||||
|
||||
|
||||
async def test_notification_off_state(
|
||||
|
@ -141,7 +133,7 @@ async def test_notification_off_state(
|
|||
door_states = [
|
||||
state
|
||||
for state in hass.states.async_all("binary_sensor")
|
||||
if state.attributes.get("device_class") == DEVICE_CLASS_DOOR
|
||||
if state.attributes.get(ATTR_DEVICE_CLASS) == BinarySensorDeviceClass.DOOR
|
||||
]
|
||||
|
||||
# Only one entity should be created for the Door state notification states.
|
||||
|
@ -159,7 +151,7 @@ async def test_property_sensor_door_status(hass, lock_august_pro, integration):
|
|||
state = hass.states.get(PROPERTY_DOOR_STATUS_BINARY_SENSOR)
|
||||
assert state
|
||||
assert state.state == STATE_OFF
|
||||
assert state.attributes["device_class"] == DEVICE_CLASS_DOOR
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == BinarySensorDeviceClass.DOOR
|
||||
|
||||
# open door
|
||||
event = Event(
|
||||
|
|
|
@ -4,13 +4,10 @@ from zwave_js_server.event import Event
|
|||
from homeassistant.components.cover import (
|
||||
ATTR_CURRENT_POSITION,
|
||||
ATTR_CURRENT_TILT_POSITION,
|
||||
DEVICE_CLASS_BLIND,
|
||||
DEVICE_CLASS_GARAGE,
|
||||
DEVICE_CLASS_SHUTTER,
|
||||
DEVICE_CLASS_WINDOW,
|
||||
DOMAIN,
|
||||
SERVICE_CLOSE_COVER,
|
||||
SERVICE_OPEN_COVER,
|
||||
CoverDeviceClass,
|
||||
)
|
||||
from homeassistant.const import (
|
||||
ATTR_DEVICE_CLASS,
|
||||
|
@ -35,7 +32,7 @@ async def test_window_cover(hass, client, chain_actuator_zws12, integration):
|
|||
state = hass.states.get(WINDOW_COVER_ENTITY)
|
||||
|
||||
assert state
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_WINDOW
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == CoverDeviceClass.WINDOW
|
||||
|
||||
assert state.state == "closed"
|
||||
assert state.attributes[ATTR_CURRENT_POSITION] == 0
|
||||
|
@ -315,7 +312,7 @@ async def test_fibaro_FGR222_shutter_cover(
|
|||
"""Test tilt function of the Fibaro Shutter devices."""
|
||||
state = hass.states.get(FIBARO_SHUTTER_COVER_ENTITY)
|
||||
assert state
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_SHUTTER
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == CoverDeviceClass.SHUTTER
|
||||
|
||||
assert state.state == "open"
|
||||
assert state.attributes[ATTR_CURRENT_TILT_POSITION] == 0
|
||||
|
@ -396,7 +393,7 @@ async def test_aeotec_nano_shutter_cover(
|
|||
state = hass.states.get(AEOTEC_SHUTTER_COVER_ENTITY)
|
||||
|
||||
assert state
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_WINDOW
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == CoverDeviceClass.WINDOW
|
||||
|
||||
assert state.state == "closed"
|
||||
assert state.attributes[ATTR_CURRENT_POSITION] == 0
|
||||
|
@ -602,7 +599,7 @@ async def test_blind_cover(hass, client, iblinds_v2, integration):
|
|||
state = hass.states.get(BLIND_COVER_ENTITY)
|
||||
|
||||
assert state
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_BLIND
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == CoverDeviceClass.BLIND
|
||||
|
||||
|
||||
async def test_shutter_cover(hass, client, qubino_shutter, integration):
|
||||
|
@ -610,7 +607,7 @@ async def test_shutter_cover(hass, client, qubino_shutter, integration):
|
|||
state = hass.states.get(SHUTTER_COVER_ENTITY)
|
||||
|
||||
assert state
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_SHUTTER
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == CoverDeviceClass.SHUTTER
|
||||
|
||||
|
||||
async def test_motor_barrier_cover(hass, client, gdc_zw062, integration):
|
||||
|
@ -619,7 +616,7 @@ async def test_motor_barrier_cover(hass, client, gdc_zw062, integration):
|
|||
|
||||
state = hass.states.get(GDC_COVER_ENTITY)
|
||||
assert state
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_GARAGE
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == CoverDeviceClass.GARAGE
|
||||
|
||||
assert state.state == STATE_CLOSED
|
||||
|
||||
|
|
|
@ -5,8 +5,9 @@ from zwave_js_server.event import Event
|
|||
from zwave_js_server.model.node import Node
|
||||
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import ENTITY_CATEGORY_CONFIG, STATE_UNKNOWN
|
||||
from homeassistant.const import STATE_UNKNOWN
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity import EntityCategory
|
||||
import homeassistant.helpers.entity_registry as er
|
||||
|
||||
DEFAULT_TONE_SELECT_ENTITY = "select.indoor_siren_6_default_tone_2"
|
||||
|
@ -63,7 +64,7 @@ async def test_default_tone_select(
|
|||
entity_entry = entity_registry.async_get(DEFAULT_TONE_SELECT_ENTITY)
|
||||
|
||||
assert entity_entry
|
||||
assert entity_entry.entity_category == ENTITY_CATEGORY_CONFIG
|
||||
assert entity_entry.entity_category is EntityCategory.CONFIG
|
||||
|
||||
# Test select option with string value
|
||||
await hass.services.async_call(
|
||||
|
@ -146,7 +147,7 @@ async def test_protection_select(
|
|||
entity_entry = entity_registry.async_get(PROTECTION_SELECT_ENTITY)
|
||||
|
||||
assert entity_entry
|
||||
assert entity_entry.entity_category == ENTITY_CATEGORY_CONFIG
|
||||
assert entity_entry.entity_category is EntityCategory.CONFIG
|
||||
|
||||
# Test select option with string value
|
||||
await hass.services.async_call(
|
||||
|
|
|
@ -7,8 +7,8 @@ from zwave_js_server.model.node import Node
|
|||
|
||||
from homeassistant.components.sensor import (
|
||||
ATTR_STATE_CLASS,
|
||||
STATE_CLASS_MEASUREMENT,
|
||||
STATE_CLASS_TOTAL_INCREASING,
|
||||
SensorDeviceClass,
|
||||
SensorStateClass,
|
||||
)
|
||||
from homeassistant.components.zwave_js.const import (
|
||||
ATTR_METER_TYPE,
|
||||
|
@ -21,22 +21,16 @@ from homeassistant.const import (
|
|||
ATTR_DEVICE_CLASS,
|
||||
ATTR_ENTITY_ID,
|
||||
ATTR_ICON,
|
||||
DEVICE_CLASS_BATTERY,
|
||||
DEVICE_CLASS_CURRENT,
|
||||
DEVICE_CLASS_ENERGY,
|
||||
DEVICE_CLASS_HUMIDITY,
|
||||
DEVICE_CLASS_POWER,
|
||||
DEVICE_CLASS_TEMPERATURE,
|
||||
DEVICE_CLASS_VOLTAGE,
|
||||
ATTR_UNIT_OF_MEASUREMENT,
|
||||
ELECTRIC_CURRENT_AMPERE,
|
||||
ELECTRIC_POTENTIAL_VOLT,
|
||||
ENERGY_KILO_WATT_HOUR,
|
||||
ENTITY_CATEGORY_DIAGNOSTIC,
|
||||
POWER_WATT,
|
||||
STATE_UNAVAILABLE,
|
||||
TEMP_CELSIUS,
|
||||
)
|
||||
from homeassistant.helpers import entity_registry as er
|
||||
from homeassistant.helpers.entity import EntityCategory
|
||||
|
||||
from .common import (
|
||||
AIR_TEMPERATURE_SENSOR,
|
||||
|
@ -59,27 +53,27 @@ async def test_numeric_sensor(hass, multisensor_6, integration):
|
|||
|
||||
assert state
|
||||
assert state.state == "9.0"
|
||||
assert state.attributes["unit_of_measurement"] == TEMP_CELSIUS
|
||||
assert state.attributes["device_class"] == DEVICE_CLASS_TEMPERATURE
|
||||
assert state.attributes[ATTR_UNIT_OF_MEASUREMENT] == TEMP_CELSIUS
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == SensorDeviceClass.TEMPERATURE
|
||||
|
||||
state = hass.states.get(BATTERY_SENSOR)
|
||||
|
||||
assert state
|
||||
assert state.state == "100.0"
|
||||
assert state.attributes["unit_of_measurement"] == "%"
|
||||
assert state.attributes["device_class"] == DEVICE_CLASS_BATTERY
|
||||
assert state.attributes[ATTR_UNIT_OF_MEASUREMENT] == "%"
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == SensorDeviceClass.BATTERY
|
||||
|
||||
ent_reg = er.async_get(hass)
|
||||
entity_entry = ent_reg.async_get(BATTERY_SENSOR)
|
||||
assert entity_entry
|
||||
assert entity_entry.entity_category == ENTITY_CATEGORY_DIAGNOSTIC
|
||||
assert entity_entry.entity_category is EntityCategory.DIAGNOSTIC
|
||||
|
||||
state = hass.states.get(HUMIDITY_SENSOR)
|
||||
|
||||
assert state
|
||||
assert state.state == "65.0"
|
||||
assert state.attributes["unit_of_measurement"] == "%"
|
||||
assert state.attributes["device_class"] == DEVICE_CLASS_HUMIDITY
|
||||
assert state.attributes[ATTR_UNIT_OF_MEASUREMENT] == "%"
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == SensorDeviceClass.HUMIDITY
|
||||
|
||||
|
||||
async def test_energy_sensors(hass, hank_binary_switch, integration):
|
||||
|
@ -88,31 +82,31 @@ async def test_energy_sensors(hass, hank_binary_switch, integration):
|
|||
|
||||
assert state
|
||||
assert state.state == "0.0"
|
||||
assert state.attributes["unit_of_measurement"] == POWER_WATT
|
||||
assert state.attributes["device_class"] == DEVICE_CLASS_POWER
|
||||
assert state.attributes["state_class"] == STATE_CLASS_MEASUREMENT
|
||||
assert state.attributes[ATTR_UNIT_OF_MEASUREMENT] == POWER_WATT
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == SensorDeviceClass.POWER
|
||||
assert state.attributes[ATTR_STATE_CLASS] is SensorStateClass.MEASUREMENT
|
||||
|
||||
state = hass.states.get(ENERGY_SENSOR)
|
||||
|
||||
assert state
|
||||
assert state.state == "0.16"
|
||||
assert state.attributes["unit_of_measurement"] == ENERGY_KILO_WATT_HOUR
|
||||
assert state.attributes["device_class"] == DEVICE_CLASS_ENERGY
|
||||
assert state.attributes["state_class"] == STATE_CLASS_TOTAL_INCREASING
|
||||
assert state.attributes[ATTR_UNIT_OF_MEASUREMENT] == ENERGY_KILO_WATT_HOUR
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == SensorDeviceClass.ENERGY
|
||||
assert state.attributes[ATTR_STATE_CLASS] is SensorStateClass.TOTAL_INCREASING
|
||||
|
||||
state = hass.states.get(VOLTAGE_SENSOR)
|
||||
|
||||
assert state
|
||||
assert state.state == "122.96"
|
||||
assert state.attributes["unit_of_measurement"] == ELECTRIC_POTENTIAL_VOLT
|
||||
assert state.attributes["device_class"] == DEVICE_CLASS_VOLTAGE
|
||||
assert state.attributes[ATTR_UNIT_OF_MEASUREMENT] == ELECTRIC_POTENTIAL_VOLT
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == SensorDeviceClass.VOLTAGE
|
||||
|
||||
state = hass.states.get(CURRENT_SENSOR)
|
||||
|
||||
assert state
|
||||
assert state.state == "0.0"
|
||||
assert state.attributes["unit_of_measurement"] == ELECTRIC_CURRENT_AMPERE
|
||||
assert state.attributes["device_class"] == DEVICE_CLASS_CURRENT
|
||||
assert state.attributes[ATTR_UNIT_OF_MEASUREMENT] == ELECTRIC_CURRENT_AMPERE
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == SensorDeviceClass.CURRENT
|
||||
|
||||
|
||||
async def test_disabled_notification_sensor(hass, multisensor_6, integration):
|
||||
|
@ -168,7 +162,7 @@ async def test_node_status_sensor(hass, client, lock_id_lock_as_id150, integrati
|
|||
entity_entry = ent_reg.async_get(NODE_STATUS_ENTITY)
|
||||
|
||||
assert not entity_entry.disabled
|
||||
assert entity_entry.entity_category == ENTITY_CATEGORY_DIAGNOSTIC
|
||||
assert entity_entry.entity_category is EntityCategory.DIAGNOSTIC
|
||||
assert hass.states.get(NODE_STATUS_ENTITY).state == "alive"
|
||||
|
||||
# Test transitions work
|
||||
|
@ -295,8 +289,8 @@ async def test_meter_attributes(
|
|||
assert state
|
||||
assert state.attributes[ATTR_METER_TYPE] == MeterType.ELECTRIC.value
|
||||
assert state.attributes[ATTR_METER_TYPE_NAME] == MeterType.ELECTRIC.name
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == DEVICE_CLASS_ENERGY
|
||||
assert state.attributes[ATTR_STATE_CLASS] == STATE_CLASS_TOTAL_INCREASING
|
||||
assert state.attributes[ATTR_DEVICE_CLASS] == SensorDeviceClass.ENERGY
|
||||
assert state.attributes[ATTR_STATE_CLASS] is SensorStateClass.TOTAL_INCREASING
|
||||
|
||||
|
||||
async def test_special_meters(hass, aeon_smart_switch_6_state, client, integration):
|
||||
|
@ -358,9 +352,9 @@ async def test_special_meters(hass, aeon_smart_switch_6_state, client, integrati
|
|||
state = hass.states.get("sensor.smart_switch_6_electric_consumed_kvah_10")
|
||||
assert state
|
||||
assert ATTR_DEVICE_CLASS not in state.attributes
|
||||
assert state.attributes[ATTR_STATE_CLASS] == STATE_CLASS_TOTAL_INCREASING
|
||||
assert state.attributes[ATTR_STATE_CLASS] is SensorStateClass.TOTAL_INCREASING
|
||||
|
||||
state = hass.states.get("sensor.smart_switch_6_electric_consumed_kva_reactive_11")
|
||||
assert state
|
||||
assert ATTR_DEVICE_CLASS not in state.attributes
|
||||
assert state.attributes[ATTR_STATE_CLASS] == STATE_CLASS_MEASUREMENT
|
||||
assert state.attributes[ATTR_STATE_CLASS] is SensorStateClass.MEASUREMENT
|
||||
|
|
Loading…
Add table
Reference in a new issue