Cleanup DeviceClass and StateClass in tests (#78811)

This commit is contained in:
epenet 2022-09-20 16:49:11 +02:00 committed by GitHub
parent bd0daf68e0
commit fe747601ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 68 additions and 61 deletions

View File

@ -27,7 +27,7 @@ from homeassistant.components.alarmdecoder.const import (
PROTOCOL_SERIAL, PROTOCOL_SERIAL,
PROTOCOL_SOCKET, 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.const import CONF_HOST, CONF_PORT, CONF_PROTOCOL
from homeassistant.core import HomeAssistant 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): async def test_options_zone_flow(hass: HomeAssistant):
"""Test options flow for adding/deleting zones.""" """Test options flow for adding/deleting zones."""
zone_number = "2" 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 = MockConfigEntry(domain=DOMAIN)
entry.add_to_hass(hass) 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): async def test_options_zone_flow_validation(hass: HomeAssistant):
"""Test input validation for zone options flow.""" """Test input validation for zone options flow."""
zone_number = "2" 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 = MockConfigEntry(domain=DOMAIN)
entry.add_to_hass(hass) entry.add_to_hass(hass)

View File

@ -7,7 +7,7 @@ import pytest
from homeassistant.components.alexa import messages, smart_home from homeassistant.components.alexa import messages, smart_home
import homeassistant.components.camera as camera 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 ( from homeassistant.components.media_player.const import (
SUPPORT_NEXT_TRACK, SUPPORT_NEXT_TRACK,
SUPPORT_PAUSE, SUPPORT_PAUSE,
@ -2765,7 +2765,7 @@ async def test_cover_gate(hass):
{ {
"friendly_name": "Test cover gate", "friendly_name": "Test cover gate",
"supported_features": 3, "supported_features": 3,
"device_class": DEVICE_CLASS_GATE, "device_class": CoverDeviceClass.GATE,
}, },
) )
appliance = await discovery_test(device, hass) appliance = await discovery_test(device, hass)

View File

@ -11,12 +11,12 @@ from homeassistant.components.humidifier import (
ATTR_MIN_HUMIDITY, ATTR_MIN_HUMIDITY,
DEFAULT_MAX_HUMIDITY, DEFAULT_MAX_HUMIDITY,
DEFAULT_MIN_HUMIDITY, DEFAULT_MIN_HUMIDITY,
DEVICE_CLASS_HUMIDIFIER,
DOMAIN as HUMIDIFIER_DOMAIN, DOMAIN as HUMIDIFIER_DOMAIN,
MODE_AUTO, MODE_AUTO,
SERVICE_SET_HUMIDITY, SERVICE_SET_HUMIDITY,
SERVICE_SET_MODE, SERVICE_SET_MODE,
SUPPORT_MODES, SUPPORT_MODES,
HumidifierDeviceClass,
) )
from homeassistant.const import ( from homeassistant.const import (
ATTR_DEVICE_CLASS, ATTR_DEVICE_CLASS,
@ -50,7 +50,7 @@ async def test_attributes(hass):
MODE_MANUAL, MODE_MANUAL,
] ]
assert state.attributes.get(ATTR_FRIENDLY_NAME) == "ecobee" 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 assert state.attributes.get(ATTR_SUPPORTED_FEATURES) == SUPPORT_MODES

View File

@ -10,10 +10,9 @@ from homeassistant.components.fritz.const import DOMAIN
from homeassistant.components.fritz.sensor import SENSOR_TYPES from homeassistant.components.fritz.sensor import SENSOR_TYPES
from homeassistant.components.sensor import ( from homeassistant.components.sensor import (
ATTR_STATE_CLASS, ATTR_STATE_CLASS,
DEVICE_CLASS_TIMESTAMP,
DOMAIN as SENSOR_DOMAIN, DOMAIN as SENSOR_DOMAIN,
STATE_CLASS_MEASUREMENT, SensorDeviceClass,
STATE_CLASS_TOTAL_INCREASING, SensorStateClass,
) )
from homeassistant.config_entries import ConfigEntryState from homeassistant.config_entries import ConfigEntryState
from homeassistant.const import ( from homeassistant.const import (
@ -38,21 +37,21 @@ SENSOR_STATES: dict[str, dict[str, Any]] = {
}, },
"sensor.mock_title_device_uptime": { "sensor.mock_title_device_uptime": {
# ATTR_STATE: "2022-02-05T17:46:04+00:00", # 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": { "sensor.mock_title_connection_uptime": {
# ATTR_STATE: "2022-03-06T11:27:16+00:00", # 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": { "sensor.mock_title_upload_throughput": {
ATTR_STATE: "3.4", ATTR_STATE: "3.4",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIT_OF_MEASUREMENT: "kB/s", ATTR_UNIT_OF_MEASUREMENT: "kB/s",
ATTR_ICON: "mdi:upload", ATTR_ICON: "mdi:upload",
}, },
"sensor.mock_title_download_throughput": { "sensor.mock_title_download_throughput": {
ATTR_STATE: "67.6", ATTR_STATE: "67.6",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIT_OF_MEASUREMENT: "kB/s", ATTR_UNIT_OF_MEASUREMENT: "kB/s",
ATTR_ICON: "mdi:download", ATTR_ICON: "mdi:download",
}, },
@ -68,13 +67,13 @@ SENSOR_STATES: dict[str, dict[str, Any]] = {
}, },
"sensor.mock_title_gb_sent": { "sensor.mock_title_gb_sent": {
ATTR_STATE: "1.7", ATTR_STATE: "1.7",
ATTR_STATE_CLASS: STATE_CLASS_TOTAL_INCREASING, ATTR_STATE_CLASS: SensorStateClass.TOTAL_INCREASING,
ATTR_UNIT_OF_MEASUREMENT: "GB", ATTR_UNIT_OF_MEASUREMENT: "GB",
ATTR_ICON: "mdi:upload", ATTR_ICON: "mdi:upload",
}, },
"sensor.mock_title_gb_received": { "sensor.mock_title_gb_received": {
ATTR_STATE: "5.2", ATTR_STATE: "5.2",
ATTR_STATE_CLASS: STATE_CLASS_TOTAL_INCREASING, ATTR_STATE_CLASS: SensorStateClass.TOTAL_INCREASING,
ATTR_UNIT_OF_MEASUREMENT: "GB", ATTR_UNIT_OF_MEASUREMENT: "GB",
ATTR_ICON: "mdi:download", ATTR_ICON: "mdi:download",
}, },

View File

@ -5,8 +5,9 @@ from unittest.mock import Mock, patch
import pytest import pytest
import voluptuous as vol 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.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.const import ATTR_DEVICE_CLASS, ATTR_ENTITY_ID, SERVICE_TURN_OFF
from homeassistant.setup import async_setup_component from homeassistant.setup import async_setup_component
import homeassistant.util.dt as dt_util 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( hass.states.async_set(
"sensor.next_alarm", "sensor.next_alarm",
trigger_dt.isoformat(), 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) 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( hass.states.async_set(
"sensor.next_alarm", "sensor.next_alarm",
trigger_dt.isoformat(), trigger_dt.isoformat(),
{ATTR_DEVICE_CLASS: sensor.DEVICE_CLASS_TIMESTAMP}, {ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP},
) )
await hass.async_block_till_done() await hass.async_block_till_done()
@ -462,13 +463,13 @@ async def test_if_fires_using_at_sensor(hass, calls):
hass.states.async_set( hass.states.async_set(
"sensor.next_alarm", "sensor.next_alarm",
trigger_dt.isoformat(), trigger_dt.isoformat(),
{ATTR_DEVICE_CLASS: sensor.DEVICE_CLASS_TIMESTAMP}, {ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP},
) )
await hass.async_block_till_done() await hass.async_block_till_done()
hass.states.async_set( hass.states.async_set(
"sensor.next_alarm", "sensor.next_alarm",
broken, broken,
{ATTR_DEVICE_CLASS: sensor.DEVICE_CLASS_TIMESTAMP}, {ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP},
) )
await hass.async_block_till_done() await hass.async_block_till_done()
@ -482,7 +483,7 @@ async def test_if_fires_using_at_sensor(hass, calls):
hass.states.async_set( hass.states.async_set(
"sensor.next_alarm", "sensor.next_alarm",
trigger_dt.isoformat(), trigger_dt.isoformat(),
{ATTR_DEVICE_CLASS: sensor.DEVICE_CLASS_TIMESTAMP}, {ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP},
) )
await hass.async_block_till_done() await hass.async_block_till_done()
hass.states.async_set( hass.states.async_set(

View File

@ -22,8 +22,6 @@ from homeassistant.components.humidifier import (
ATTR_MIN_HUMIDITY, ATTR_MIN_HUMIDITY,
DEFAULT_MAX_HUMIDITY, DEFAULT_MAX_HUMIDITY,
DEFAULT_MIN_HUMIDITY, DEFAULT_MIN_HUMIDITY,
DEVICE_CLASS_DEHUMIDIFIER,
DEVICE_CLASS_HUMIDIFIER,
DOMAIN, DOMAIN,
SERVICE_SET_HUMIDITY, SERVICE_SET_HUMIDITY,
HumidifierDeviceClass, HumidifierDeviceClass,
@ -88,7 +86,7 @@ async def test_humidifier(hass, hk_driver, events):
hass.states.async_set( hass.states.async_set(
entity_id, entity_id,
STATE_OFF, 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() await hass.async_block_till_done()
assert acc.char_target_humidity.value == 42.0 assert acc.char_target_humidity.value == 42.0
@ -128,7 +126,7 @@ async def test_dehumidifier(hass, hk_driver, events):
entity_id = "humidifier.test" entity_id = "humidifier.test"
hass.states.async_set( 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() await hass.async_block_till_done()
acc = HumidifierDehumidifier( acc = HumidifierDehumidifier(

View File

@ -8,17 +8,14 @@ from homewizard_energy.models import Data
from homeassistant.components.sensor import ( from homeassistant.components.sensor import (
ATTR_STATE_CLASS, ATTR_STATE_CLASS,
STATE_CLASS_MEASUREMENT, SensorDeviceClass,
STATE_CLASS_TOTAL_INCREASING, SensorStateClass,
) )
from homeassistant.const import ( from homeassistant.const import (
ATTR_DEVICE_CLASS, ATTR_DEVICE_CLASS,
ATTR_FRIENDLY_NAME, ATTR_FRIENDLY_NAME,
ATTR_ICON, ATTR_ICON,
ATTR_UNIT_OF_MEASUREMENT, ATTR_UNIT_OF_MEASUREMENT,
DEVICE_CLASS_ENERGY,
DEVICE_CLASS_GAS,
DEVICE_CLASS_POWER,
ENERGY_KILO_WATT_HOUR, ENERGY_KILO_WATT_HOUR,
POWER_WATT, POWER_WATT,
VOLUME_CUBIC_METERS, VOLUME_CUBIC_METERS,
@ -208,9 +205,9 @@ async def test_sensor_entity_total_power_import_t1_kwh(
state.attributes.get(ATTR_FRIENDLY_NAME) state.attributes.get(ATTR_FRIENDLY_NAME)
== "Product Name (aabbccddeeff) Total power import T1" == "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_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 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) state.attributes.get(ATTR_FRIENDLY_NAME)
== "Product Name (aabbccddeeff) Total power import T2" == "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_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 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) state.attributes.get(ATTR_FRIENDLY_NAME)
== "Product Name (aabbccddeeff) Total power export T1" == "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_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 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) state.attributes.get(ATTR_FRIENDLY_NAME)
== "Product Name (aabbccddeeff) Total power export T2" == "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_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 assert ATTR_ICON not in state.attributes
@ -372,9 +369,9 @@ async def test_sensor_entity_active_power(
state.attributes.get(ATTR_FRIENDLY_NAME) state.attributes.get(ATTR_FRIENDLY_NAME)
== "Product Name (aabbccddeeff) Active power" == "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_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 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) state.attributes.get(ATTR_FRIENDLY_NAME)
== "Product Name (aabbccddeeff) Active power L1" == "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_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 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) state.attributes.get(ATTR_FRIENDLY_NAME)
== "Product Name (aabbccddeeff) Active power L2" == "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_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 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) state.attributes.get(ATTR_FRIENDLY_NAME)
== "Product Name (aabbccddeeff) Active power L3" == "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_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 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) state.attributes.get(ATTR_FRIENDLY_NAME)
== "Product Name (aabbccddeeff) Total gas" == "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_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 assert ATTR_ICON not in state.attributes
@ -569,7 +566,7 @@ async def test_sensor_entity_active_liters(
== "Product Name (aabbccddeeff) Active water usage" == "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 state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == "l/min"
assert ATTR_DEVICE_CLASS not in state.attributes assert ATTR_DEVICE_CLASS not in state.attributes
assert state.attributes.get(ATTR_ICON) == "mdi:water" 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" == "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 state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == VOLUME_CUBIC_METERS
assert ATTR_DEVICE_CLASS not in state.attributes assert ATTR_DEVICE_CLASS not in state.attributes
assert state.attributes.get(ATTR_ICON) == "mdi:gauge" assert state.attributes.get(ATTR_ICON) == "mdi:gauge"

View File

@ -5,7 +5,7 @@ from unittest.mock import AsyncMock, patch
from homewizard_energy.models import State from homewizard_energy.models import State
from homeassistant.components import switch 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 ( from homeassistant.const import (
ATTR_DEVICE_CLASS, ATTR_DEVICE_CLASS,
ATTR_FRIENDLY_NAME, 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) state_power_on.attributes.get(ATTR_FRIENDLY_NAME)
== "Product Name (aabbccddeeff)" == "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 assert ATTR_ICON not in state_power_on.attributes
state_switch_lock = hass.states.get("switch.product_name_aabbccddeeff_switch_lock") 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) state_switch_lock.attributes.get(ATTR_FRIENDLY_NAME)
== "Product Name (aabbccddeeff) Switch lock" == "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 assert ATTR_ICON not in state_switch_lock.attributes

View File

@ -10,13 +10,15 @@ from typing import Any
from google_nest_sdm.event import EventMessage from google_nest_sdm.event import EventMessage
import pytest 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 ( from homeassistant.const import (
ATTR_DEVICE_CLASS, ATTR_DEVICE_CLASS,
ATTR_FRIENDLY_NAME, ATTR_FRIENDLY_NAME,
ATTR_UNIT_OF_MEASUREMENT, ATTR_UNIT_OF_MEASUREMENT,
DEVICE_CLASS_HUMIDITY,
DEVICE_CLASS_TEMPERATURE,
PERCENTAGE, PERCENTAGE,
TEMP_CELSIUS, TEMP_CELSIUS,
) )
@ -58,16 +60,18 @@ async def test_thermostat_device(
assert temperature is not None assert temperature is not None
assert temperature.state == "25.1" assert temperature.state == "25.1"
assert temperature.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == TEMP_CELSIUS assert temperature.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == TEMP_CELSIUS
assert temperature.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_TEMPERATURE assert (
assert temperature.attributes.get(ATTR_STATE_CLASS) == STATE_CLASS_MEASUREMENT 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" assert temperature.attributes.get(ATTR_FRIENDLY_NAME) == "My Sensor Temperature"
humidity = hass.states.get("sensor.my_sensor_humidity") humidity = hass.states.get("sensor.my_sensor_humidity")
assert humidity is not None assert humidity is not None
assert humidity.state == "35" assert humidity.state == "35"
assert humidity.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == PERCENTAGE assert humidity.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == PERCENTAGE
assert humidity.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_HUMIDITY assert humidity.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.HUMIDITY
assert humidity.attributes.get(ATTR_STATE_CLASS) == STATE_CLASS_MEASUREMENT assert humidity.attributes.get(ATTR_STATE_CLASS) == SensorStateClass.MEASUREMENT
assert humidity.attributes.get(ATTR_FRIENDLY_NAME) == "My Sensor Humidity" assert humidity.attributes.get(ATTR_FRIENDLY_NAME) == "My Sensor Humidity"
registry = er.async_get(hass) registry = er.async_get(hass)