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

View file

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

View file

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

View file

@ -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",
},

View file

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

View file

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

View file

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

View file

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

View file

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