From fe747601ffcbf0d3c556d017770b84bf36185f96 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Tue, 20 Sep 2022 16:49:11 +0200 Subject: [PATCH] Cleanup DeviceClass and StateClass in tests (#78811) --- .../alarmdecoder/test_config_flow.py | 12 +++-- tests/components/alexa/test_smart_home.py | 4 +- tests/components/ecobee/test_humidifier.py | 4 +- tests/components/fritz/test_sensor.py | 17 ++++--- .../homeassistant/triggers/test_time.py | 13 ++--- .../homekit/test_type_humidifiers.py | 6 +-- tests/components/homewizard/test_sensor.py | 47 +++++++++---------- tests/components/homewizard/test_switch.py | 8 ++-- tests/components/nest/test_sensor_sdm.py | 18 ++++--- 9 files changed, 68 insertions(+), 61 deletions(-) diff --git a/tests/components/alarmdecoder/test_config_flow.py b/tests/components/alarmdecoder/test_config_flow.py index e3fdb05ca00..60e019b1e05 100644 --- a/tests/components/alarmdecoder/test_config_flow.py +++ b/tests/components/alarmdecoder/test_config_flow.py @@ -27,7 +27,7 @@ from homeassistant.components.alarmdecoder.const import ( PROTOCOL_SERIAL, PROTOCOL_SOCKET, ) -from homeassistant.components.binary_sensor import DEVICE_CLASS_WINDOW +from homeassistant.components.binary_sensor import BinarySensorDeviceClass from homeassistant.const import CONF_HOST, CONF_PORT, CONF_PROTOCOL from homeassistant.core import HomeAssistant @@ -181,7 +181,10 @@ async def test_options_arm_flow(hass: HomeAssistant): async def test_options_zone_flow(hass: HomeAssistant): """Test options flow for adding/deleting zones.""" zone_number = "2" - zone_settings = {CONF_ZONE_NAME: "Front Entry", CONF_ZONE_TYPE: DEVICE_CLASS_WINDOW} + zone_settings = { + CONF_ZONE_NAME: "Front Entry", + CONF_ZONE_TYPE: BinarySensorDeviceClass.WINDOW, + } entry = MockConfigEntry(domain=DOMAIN) entry.add_to_hass(hass) @@ -257,7 +260,10 @@ async def test_options_zone_flow(hass: HomeAssistant): async def test_options_zone_flow_validation(hass: HomeAssistant): """Test input validation for zone options flow.""" zone_number = "2" - zone_settings = {CONF_ZONE_NAME: "Front Entry", CONF_ZONE_TYPE: DEVICE_CLASS_WINDOW} + zone_settings = { + CONF_ZONE_NAME: "Front Entry", + CONF_ZONE_TYPE: BinarySensorDeviceClass.WINDOW, + } entry = MockConfigEntry(domain=DOMAIN) entry.add_to_hass(hass) diff --git a/tests/components/alexa/test_smart_home.py b/tests/components/alexa/test_smart_home.py index d04b3719bf9..85926810290 100644 --- a/tests/components/alexa/test_smart_home.py +++ b/tests/components/alexa/test_smart_home.py @@ -7,7 +7,7 @@ import pytest from homeassistant.components.alexa import messages, smart_home import homeassistant.components.camera as camera -from homeassistant.components.cover import DEVICE_CLASS_GATE +from homeassistant.components.cover import CoverDeviceClass from homeassistant.components.media_player.const import ( SUPPORT_NEXT_TRACK, SUPPORT_PAUSE, @@ -2765,7 +2765,7 @@ async def test_cover_gate(hass): { "friendly_name": "Test cover gate", "supported_features": 3, - "device_class": DEVICE_CLASS_GATE, + "device_class": CoverDeviceClass.GATE, }, ) appliance = await discovery_test(device, hass) diff --git a/tests/components/ecobee/test_humidifier.py b/tests/components/ecobee/test_humidifier.py index e99d98996d2..e8a370455f7 100644 --- a/tests/components/ecobee/test_humidifier.py +++ b/tests/components/ecobee/test_humidifier.py @@ -11,12 +11,12 @@ from homeassistant.components.humidifier import ( ATTR_MIN_HUMIDITY, DEFAULT_MAX_HUMIDITY, DEFAULT_MIN_HUMIDITY, - DEVICE_CLASS_HUMIDIFIER, DOMAIN as HUMIDIFIER_DOMAIN, MODE_AUTO, SERVICE_SET_HUMIDITY, SERVICE_SET_MODE, SUPPORT_MODES, + HumidifierDeviceClass, ) from homeassistant.const import ( ATTR_DEVICE_CLASS, @@ -50,7 +50,7 @@ async def test_attributes(hass): MODE_MANUAL, ] assert state.attributes.get(ATTR_FRIENDLY_NAME) == "ecobee" - assert state.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_HUMIDIFIER + assert state.attributes.get(ATTR_DEVICE_CLASS) == HumidifierDeviceClass.HUMIDIFIER assert state.attributes.get(ATTR_SUPPORTED_FEATURES) == SUPPORT_MODES diff --git a/tests/components/fritz/test_sensor.py b/tests/components/fritz/test_sensor.py index 73a7c1068ae..2a3435210e7 100644 --- a/tests/components/fritz/test_sensor.py +++ b/tests/components/fritz/test_sensor.py @@ -10,10 +10,9 @@ from homeassistant.components.fritz.const import DOMAIN from homeassistant.components.fritz.sensor import SENSOR_TYPES from homeassistant.components.sensor import ( ATTR_STATE_CLASS, - DEVICE_CLASS_TIMESTAMP, DOMAIN as SENSOR_DOMAIN, - STATE_CLASS_MEASUREMENT, - STATE_CLASS_TOTAL_INCREASING, + SensorDeviceClass, + SensorStateClass, ) from homeassistant.config_entries import ConfigEntryState from homeassistant.const import ( @@ -38,21 +37,21 @@ SENSOR_STATES: dict[str, dict[str, Any]] = { }, "sensor.mock_title_device_uptime": { # ATTR_STATE: "2022-02-05T17:46:04+00:00", - ATTR_DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP, + ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP, }, "sensor.mock_title_connection_uptime": { # ATTR_STATE: "2022-03-06T11:27:16+00:00", - ATTR_DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP, + ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP, }, "sensor.mock_title_upload_throughput": { ATTR_STATE: "3.4", - ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT, ATTR_UNIT_OF_MEASUREMENT: "kB/s", ATTR_ICON: "mdi:upload", }, "sensor.mock_title_download_throughput": { ATTR_STATE: "67.6", - ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT, ATTR_UNIT_OF_MEASUREMENT: "kB/s", ATTR_ICON: "mdi:download", }, @@ -68,13 +67,13 @@ SENSOR_STATES: dict[str, dict[str, Any]] = { }, "sensor.mock_title_gb_sent": { ATTR_STATE: "1.7", - ATTR_STATE_CLASS: STATE_CLASS_TOTAL_INCREASING, + ATTR_STATE_CLASS: SensorStateClass.TOTAL_INCREASING, ATTR_UNIT_OF_MEASUREMENT: "GB", ATTR_ICON: "mdi:upload", }, "sensor.mock_title_gb_received": { ATTR_STATE: "5.2", - ATTR_STATE_CLASS: STATE_CLASS_TOTAL_INCREASING, + ATTR_STATE_CLASS: SensorStateClass.TOTAL_INCREASING, ATTR_UNIT_OF_MEASUREMENT: "GB", ATTR_ICON: "mdi:download", }, diff --git a/tests/components/homeassistant/triggers/test_time.py b/tests/components/homeassistant/triggers/test_time.py index 499fcf8611e..b13e974dc7b 100644 --- a/tests/components/homeassistant/triggers/test_time.py +++ b/tests/components/homeassistant/triggers/test_time.py @@ -5,8 +5,9 @@ from unittest.mock import Mock, patch import pytest import voluptuous as vol -from homeassistant.components import automation, sensor +from homeassistant.components import automation from homeassistant.components.homeassistant.triggers import time +from homeassistant.components.sensor import SensorDeviceClass from homeassistant.const import ATTR_DEVICE_CLASS, ATTR_ENTITY_ID, SERVICE_TURN_OFF from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util @@ -406,7 +407,7 @@ async def test_if_fires_using_at_sensor(hass, calls): hass.states.async_set( "sensor.next_alarm", trigger_dt.isoformat(), - {ATTR_DEVICE_CLASS: sensor.DEVICE_CLASS_TIMESTAMP}, + {ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP}, ) time_that_will_not_match_right_away = trigger_dt - timedelta(minutes=1) @@ -445,7 +446,7 @@ async def test_if_fires_using_at_sensor(hass, calls): hass.states.async_set( "sensor.next_alarm", trigger_dt.isoformat(), - {ATTR_DEVICE_CLASS: sensor.DEVICE_CLASS_TIMESTAMP}, + {ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP}, ) await hass.async_block_till_done() @@ -462,13 +463,13 @@ async def test_if_fires_using_at_sensor(hass, calls): hass.states.async_set( "sensor.next_alarm", trigger_dt.isoformat(), - {ATTR_DEVICE_CLASS: sensor.DEVICE_CLASS_TIMESTAMP}, + {ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP}, ) await hass.async_block_till_done() hass.states.async_set( "sensor.next_alarm", broken, - {ATTR_DEVICE_CLASS: sensor.DEVICE_CLASS_TIMESTAMP}, + {ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP}, ) await hass.async_block_till_done() @@ -482,7 +483,7 @@ async def test_if_fires_using_at_sensor(hass, calls): hass.states.async_set( "sensor.next_alarm", trigger_dt.isoformat(), - {ATTR_DEVICE_CLASS: sensor.DEVICE_CLASS_TIMESTAMP}, + {ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP}, ) await hass.async_block_till_done() hass.states.async_set( diff --git a/tests/components/homekit/test_type_humidifiers.py b/tests/components/homekit/test_type_humidifiers.py index 3c3985a961b..2c424d24fa0 100644 --- a/tests/components/homekit/test_type_humidifiers.py +++ b/tests/components/homekit/test_type_humidifiers.py @@ -22,8 +22,6 @@ from homeassistant.components.humidifier import ( ATTR_MIN_HUMIDITY, DEFAULT_MAX_HUMIDITY, DEFAULT_MIN_HUMIDITY, - DEVICE_CLASS_DEHUMIDIFIER, - DEVICE_CLASS_HUMIDIFIER, DOMAIN, SERVICE_SET_HUMIDITY, HumidifierDeviceClass, @@ -88,7 +86,7 @@ async def test_humidifier(hass, hk_driver, events): hass.states.async_set( entity_id, STATE_OFF, - {ATTR_HUMIDITY: 42, ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDIFIER}, + {ATTR_HUMIDITY: 42, ATTR_DEVICE_CLASS: HumidifierDeviceClass.HUMIDIFIER}, ) await hass.async_block_till_done() assert acc.char_target_humidity.value == 42.0 @@ -128,7 +126,7 @@ async def test_dehumidifier(hass, hk_driver, events): entity_id = "humidifier.test" hass.states.async_set( - entity_id, STATE_OFF, {ATTR_DEVICE_CLASS: DEVICE_CLASS_DEHUMIDIFIER} + entity_id, STATE_OFF, {ATTR_DEVICE_CLASS: HumidifierDeviceClass.DEHUMIDIFIER} ) await hass.async_block_till_done() acc = HumidifierDehumidifier( diff --git a/tests/components/homewizard/test_sensor.py b/tests/components/homewizard/test_sensor.py index 85b6dc58235..145a2719b01 100644 --- a/tests/components/homewizard/test_sensor.py +++ b/tests/components/homewizard/test_sensor.py @@ -8,17 +8,14 @@ from homewizard_energy.models import Data from homeassistant.components.sensor import ( ATTR_STATE_CLASS, - STATE_CLASS_MEASUREMENT, - STATE_CLASS_TOTAL_INCREASING, + SensorDeviceClass, + SensorStateClass, ) from homeassistant.const import ( ATTR_DEVICE_CLASS, ATTR_FRIENDLY_NAME, ATTR_ICON, ATTR_UNIT_OF_MEASUREMENT, - DEVICE_CLASS_ENERGY, - DEVICE_CLASS_GAS, - DEVICE_CLASS_POWER, ENERGY_KILO_WATT_HOUR, POWER_WATT, VOLUME_CUBIC_METERS, @@ -208,9 +205,9 @@ async def test_sensor_entity_total_power_import_t1_kwh( state.attributes.get(ATTR_FRIENDLY_NAME) == "Product Name (aabbccddeeff) Total power import T1" ) - assert state.attributes.get(ATTR_STATE_CLASS) == STATE_CLASS_TOTAL_INCREASING + assert state.attributes.get(ATTR_STATE_CLASS) == SensorStateClass.TOTAL_INCREASING assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == ENERGY_KILO_WATT_HOUR - assert state.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_ENERGY + assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.ENERGY assert ATTR_ICON not in state.attributes @@ -250,9 +247,9 @@ async def test_sensor_entity_total_power_import_t2_kwh( state.attributes.get(ATTR_FRIENDLY_NAME) == "Product Name (aabbccddeeff) Total power import T2" ) - assert state.attributes.get(ATTR_STATE_CLASS) == STATE_CLASS_TOTAL_INCREASING + assert state.attributes.get(ATTR_STATE_CLASS) == SensorStateClass.TOTAL_INCREASING assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == ENERGY_KILO_WATT_HOUR - assert state.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_ENERGY + assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.ENERGY assert ATTR_ICON not in state.attributes @@ -292,9 +289,9 @@ async def test_sensor_entity_total_power_export_t1_kwh( state.attributes.get(ATTR_FRIENDLY_NAME) == "Product Name (aabbccddeeff) Total power export T1" ) - assert state.attributes.get(ATTR_STATE_CLASS) == STATE_CLASS_TOTAL_INCREASING + assert state.attributes.get(ATTR_STATE_CLASS) == SensorStateClass.TOTAL_INCREASING assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == ENERGY_KILO_WATT_HOUR - assert state.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_ENERGY + assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.ENERGY assert ATTR_ICON not in state.attributes @@ -334,9 +331,9 @@ async def test_sensor_entity_total_power_export_t2_kwh( state.attributes.get(ATTR_FRIENDLY_NAME) == "Product Name (aabbccddeeff) Total power export T2" ) - assert state.attributes.get(ATTR_STATE_CLASS) == STATE_CLASS_TOTAL_INCREASING + assert state.attributes.get(ATTR_STATE_CLASS) == SensorStateClass.TOTAL_INCREASING assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == ENERGY_KILO_WATT_HOUR - assert state.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_ENERGY + assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.ENERGY assert ATTR_ICON not in state.attributes @@ -372,9 +369,9 @@ async def test_sensor_entity_active_power( state.attributes.get(ATTR_FRIENDLY_NAME) == "Product Name (aabbccddeeff) Active power" ) - assert state.attributes.get(ATTR_STATE_CLASS) == STATE_CLASS_MEASUREMENT + assert state.attributes.get(ATTR_STATE_CLASS) == SensorStateClass.MEASUREMENT assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == POWER_WATT - assert state.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_POWER + assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.POWER assert ATTR_ICON not in state.attributes @@ -412,9 +409,9 @@ async def test_sensor_entity_active_power_l1( state.attributes.get(ATTR_FRIENDLY_NAME) == "Product Name (aabbccddeeff) Active power L1" ) - assert state.attributes.get(ATTR_STATE_CLASS) == STATE_CLASS_MEASUREMENT + assert state.attributes.get(ATTR_STATE_CLASS) == SensorStateClass.MEASUREMENT assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == POWER_WATT - assert state.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_POWER + assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.POWER assert ATTR_ICON not in state.attributes @@ -452,9 +449,9 @@ async def test_sensor_entity_active_power_l2( state.attributes.get(ATTR_FRIENDLY_NAME) == "Product Name (aabbccddeeff) Active power L2" ) - assert state.attributes.get(ATTR_STATE_CLASS) == STATE_CLASS_MEASUREMENT + assert state.attributes.get(ATTR_STATE_CLASS) == SensorStateClass.MEASUREMENT assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == POWER_WATT - assert state.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_POWER + assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.POWER assert ATTR_ICON not in state.attributes @@ -492,9 +489,9 @@ async def test_sensor_entity_active_power_l3( state.attributes.get(ATTR_FRIENDLY_NAME) == "Product Name (aabbccddeeff) Active power L3" ) - assert state.attributes.get(ATTR_STATE_CLASS) == STATE_CLASS_MEASUREMENT + assert state.attributes.get(ATTR_STATE_CLASS) == SensorStateClass.MEASUREMENT assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == POWER_WATT - assert state.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_POWER + assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.POWER assert ATTR_ICON not in state.attributes @@ -528,9 +525,9 @@ async def test_sensor_entity_total_gas(hass, mock_config_entry_data, mock_config state.attributes.get(ATTR_FRIENDLY_NAME) == "Product Name (aabbccddeeff) Total gas" ) - assert state.attributes.get(ATTR_STATE_CLASS) == STATE_CLASS_TOTAL_INCREASING + assert state.attributes.get(ATTR_STATE_CLASS) == SensorStateClass.TOTAL_INCREASING assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == VOLUME_CUBIC_METERS - assert state.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_GAS + assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.GAS assert ATTR_ICON not in state.attributes @@ -569,7 +566,7 @@ async def test_sensor_entity_active_liters( == "Product Name (aabbccddeeff) Active water usage" ) - assert state.attributes.get(ATTR_STATE_CLASS) == STATE_CLASS_MEASUREMENT + assert state.attributes.get(ATTR_STATE_CLASS) == SensorStateClass.MEASUREMENT assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == "l/min" assert ATTR_DEVICE_CLASS not in state.attributes assert state.attributes.get(ATTR_ICON) == "mdi:water" @@ -610,7 +607,7 @@ async def test_sensor_entity_total_liters( == "Product Name (aabbccddeeff) Total water usage" ) - assert state.attributes.get(ATTR_STATE_CLASS) == STATE_CLASS_TOTAL_INCREASING + assert state.attributes.get(ATTR_STATE_CLASS) == SensorStateClass.TOTAL_INCREASING assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == VOLUME_CUBIC_METERS assert ATTR_DEVICE_CLASS not in state.attributes assert state.attributes.get(ATTR_ICON) == "mdi:gauge" diff --git a/tests/components/homewizard/test_switch.py b/tests/components/homewizard/test_switch.py index 224d32e1b5c..64fb5a56909 100644 --- a/tests/components/homewizard/test_switch.py +++ b/tests/components/homewizard/test_switch.py @@ -5,7 +5,7 @@ from unittest.mock import AsyncMock, patch from homewizard_energy.models import State from homeassistant.components import switch -from homeassistant.components.switch import DEVICE_CLASS_OUTLET, DEVICE_CLASS_SWITCH +from homeassistant.components.switch import SwitchDeviceClass from homeassistant.const import ( ATTR_DEVICE_CLASS, ATTR_FRIENDLY_NAME, @@ -78,7 +78,7 @@ async def test_switch_loads_entities(hass, mock_config_entry_data, mock_config_e state_power_on.attributes.get(ATTR_FRIENDLY_NAME) == "Product Name (aabbccddeeff)" ) - assert state_power_on.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_OUTLET + assert state_power_on.attributes.get(ATTR_DEVICE_CLASS) == SwitchDeviceClass.OUTLET assert ATTR_ICON not in state_power_on.attributes state_switch_lock = hass.states.get("switch.product_name_aabbccddeeff_switch_lock") @@ -95,7 +95,9 @@ async def test_switch_loads_entities(hass, mock_config_entry_data, mock_config_e state_switch_lock.attributes.get(ATTR_FRIENDLY_NAME) == "Product Name (aabbccddeeff) Switch lock" ) - assert state_switch_lock.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_SWITCH + assert ( + state_switch_lock.attributes.get(ATTR_DEVICE_CLASS) == SwitchDeviceClass.SWITCH + ) assert ATTR_ICON not in state_switch_lock.attributes diff --git a/tests/components/nest/test_sensor_sdm.py b/tests/components/nest/test_sensor_sdm.py index 0f98d0c05b4..d1a89317959 100644 --- a/tests/components/nest/test_sensor_sdm.py +++ b/tests/components/nest/test_sensor_sdm.py @@ -10,13 +10,15 @@ from typing import Any from google_nest_sdm.event import EventMessage import pytest -from homeassistant.components.sensor import ATTR_STATE_CLASS, STATE_CLASS_MEASUREMENT +from homeassistant.components.sensor import ( + ATTR_STATE_CLASS, + SensorDeviceClass, + SensorStateClass, +) from homeassistant.const import ( ATTR_DEVICE_CLASS, ATTR_FRIENDLY_NAME, ATTR_UNIT_OF_MEASUREMENT, - DEVICE_CLASS_HUMIDITY, - DEVICE_CLASS_TEMPERATURE, PERCENTAGE, TEMP_CELSIUS, ) @@ -58,16 +60,18 @@ async def test_thermostat_device( assert temperature is not None assert temperature.state == "25.1" assert temperature.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == TEMP_CELSIUS - assert temperature.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_TEMPERATURE - assert temperature.attributes.get(ATTR_STATE_CLASS) == STATE_CLASS_MEASUREMENT + assert ( + temperature.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.TEMPERATURE + ) + assert temperature.attributes.get(ATTR_STATE_CLASS) == SensorStateClass.MEASUREMENT assert temperature.attributes.get(ATTR_FRIENDLY_NAME) == "My Sensor Temperature" humidity = hass.states.get("sensor.my_sensor_humidity") assert humidity is not None assert humidity.state == "35" assert humidity.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == PERCENTAGE - assert humidity.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_HUMIDITY - assert humidity.attributes.get(ATTR_STATE_CLASS) == STATE_CLASS_MEASUREMENT + assert humidity.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.HUMIDITY + assert humidity.attributes.get(ATTR_STATE_CLASS) == SensorStateClass.MEASUREMENT assert humidity.attributes.get(ATTR_FRIENDLY_NAME) == "My Sensor Humidity" registry = er.async_get(hass)