Migrate google_assistant tests to use unit system (#140357)

This commit is contained in:
epenet 2025-03-11 13:21:00 +01:00 committed by GitHub
parent 98cf936ff5
commit b160ce21fc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -79,6 +79,11 @@ from homeassistant.core import DOMAIN as HOMEASSISTANT_DOMAIN, HomeAssistant, St
from homeassistant.core_config import async_process_ha_core_config from homeassistant.core_config import async_process_ha_core_config
from homeassistant.util import dt as dt_util from homeassistant.util import dt as dt_util
from homeassistant.util.unit_conversion import TemperatureConverter from homeassistant.util.unit_conversion import TemperatureConverter
from homeassistant.util.unit_system import (
METRIC_SYSTEM,
US_CUSTOMARY_SYSTEM,
UnitSystem,
)
from . import BASIC_CONFIG, MockConfig from . import BASIC_CONFIG, MockConfig
@ -1072,7 +1077,7 @@ async def test_temperature_setting_climate_onoff(hass: HomeAssistant) -> None:
assert helpers.get_google_type(climate.DOMAIN, None) is not None assert helpers.get_google_type(climate.DOMAIN, None) is not None
assert trait.TemperatureSettingTrait.supported(climate.DOMAIN, 0, None, None) assert trait.TemperatureSettingTrait.supported(climate.DOMAIN, 0, None, None)
hass.config.units.temperature_unit = UnitOfTemperature.FAHRENHEIT hass.config.units = US_CUSTOMARY_SYSTEM
trt = trait.TemperatureSettingTrait( trt = trait.TemperatureSettingTrait(
hass, hass,
@ -1123,8 +1128,6 @@ async def test_temperature_setting_climate_no_modes(hass: HomeAssistant) -> None
assert helpers.get_google_type(climate.DOMAIN, None) is not None assert helpers.get_google_type(climate.DOMAIN, None) is not None
assert trait.TemperatureSettingTrait.supported(climate.DOMAIN, 0, None, None) assert trait.TemperatureSettingTrait.supported(climate.DOMAIN, 0, None, None)
hass.config.units.temperature_unit = UnitOfTemperature.CELSIUS
trt = trait.TemperatureSettingTrait( trt = trait.TemperatureSettingTrait(
hass, hass,
State( State(
@ -1153,7 +1156,7 @@ async def test_temperature_setting_climate_range(hass: HomeAssistant) -> None:
assert helpers.get_google_type(climate.DOMAIN, None) is not None assert helpers.get_google_type(climate.DOMAIN, None) is not None
assert trait.TemperatureSettingTrait.supported(climate.DOMAIN, 0, None, None) assert trait.TemperatureSettingTrait.supported(climate.DOMAIN, 0, None, None)
hass.config.units.temperature_unit = UnitOfTemperature.FAHRENHEIT hass.config.units = US_CUSTOMARY_SYSTEM
trt = trait.TemperatureSettingTrait( trt = trait.TemperatureSettingTrait(
hass, hass,
@ -1261,7 +1264,6 @@ async def test_temperature_setting_climate_range(hass: HomeAssistant) -> None:
ATTR_ENTITY_ID: "climate.bla", ATTR_ENTITY_ID: "climate.bla",
climate.ATTR_TEMPERATURE: 75, climate.ATTR_TEMPERATURE: 75,
} }
hass.config.units.temperature_unit = UnitOfTemperature.CELSIUS
async def test_temperature_setting_climate_setpoint(hass: HomeAssistant) -> None: async def test_temperature_setting_climate_setpoint(hass: HomeAssistant) -> None:
@ -1269,8 +1271,6 @@ async def test_temperature_setting_climate_setpoint(hass: HomeAssistant) -> None
assert helpers.get_google_type(climate.DOMAIN, None) is not None assert helpers.get_google_type(climate.DOMAIN, None) is not None
assert trait.TemperatureSettingTrait.supported(climate.DOMAIN, 0, None, None) assert trait.TemperatureSettingTrait.supported(climate.DOMAIN, 0, None, None)
hass.config.units.temperature_unit = UnitOfTemperature.CELSIUS
trt = trait.TemperatureSettingTrait( trt = trait.TemperatureSettingTrait(
hass, hass,
State( State(
@ -1356,8 +1356,6 @@ async def test_temperature_setting_climate_setpoint_auto(hass: HomeAssistant) ->
Setpoint in auto mode. Setpoint in auto mode.
""" """
hass.config.units.temperature_unit = UnitOfTemperature.CELSIUS
trt = trait.TemperatureSettingTrait( trt = trait.TemperatureSettingTrait(
hass, hass,
State( State(
@ -1407,8 +1405,6 @@ async def test_temperature_setting_climate_setpoint_auto(hass: HomeAssistant) ->
async def test_temperature_control(hass: HomeAssistant) -> None: async def test_temperature_control(hass: HomeAssistant) -> None:
"""Test TemperatureControl trait support for sensor domain.""" """Test TemperatureControl trait support for sensor domain."""
hass.config.units.temperature_unit = UnitOfTemperature.CELSIUS
trt = trait.TemperatureControlTrait( trt = trait.TemperatureControlTrait(
hass, hass,
State("sensor.temp", 18), State("sensor.temp", 18),
@ -1431,13 +1427,13 @@ async def test_temperature_control(hass: HomeAssistant) -> None:
@pytest.mark.parametrize( @pytest.mark.parametrize(
("unit_in", "unit_out", "temp_in", "temp_out", "current_in", "current_out"), ("unit_in", "unit_out", "temp_in", "temp_out", "current_in", "current_out"),
[ [
(UnitOfTemperature.CELSIUS, "C", "120", 120, "130", 130), (METRIC_SYSTEM, "C", "120", 120, "130", 130),
(UnitOfTemperature.FAHRENHEIT, "F", "248", 120, "266", 130), (US_CUSTOMARY_SYSTEM, "F", "248", 120, "266", 130),
], ],
) )
async def test_temperature_control_water_heater( async def test_temperature_control_water_heater(
hass: HomeAssistant, hass: HomeAssistant,
unit_in: UnitOfTemperature, unit_in: UnitSystem,
unit_out: str, unit_out: str,
temp_in: str, temp_in: str,
temp_out: float, temp_out: float,
@ -1445,17 +1441,17 @@ async def test_temperature_control_water_heater(
current_out: float, current_out: float,
) -> None: ) -> None:
"""Test TemperatureControl trait support for water heater domain.""" """Test TemperatureControl trait support for water heater domain."""
hass.config.units.temperature_unit = unit_in hass.config.units = unit_in
min_temp = TemperatureConverter.convert( min_temp = TemperatureConverter.convert(
water_heater.DEFAULT_MIN_TEMP, water_heater.DEFAULT_MIN_TEMP,
UnitOfTemperature.CELSIUS, UnitOfTemperature.CELSIUS,
unit_in, unit_in.temperature_unit,
) )
max_temp = TemperatureConverter.convert( max_temp = TemperatureConverter.convert(
water_heater.DEFAULT_MAX_TEMP, water_heater.DEFAULT_MAX_TEMP,
UnitOfTemperature.CELSIUS, UnitOfTemperature.CELSIUS,
unit_in, unit_in.temperature_unit,
) )
trt = trait.TemperatureControlTrait( trt = trait.TemperatureControlTrait(
@ -1489,30 +1485,30 @@ async def test_temperature_control_water_heater(
@pytest.mark.parametrize( @pytest.mark.parametrize(
("unit", "temp_init", "temp_in", "temp_out", "current_init"), ("unit", "temp_init", "temp_in", "temp_out", "current_init"),
[ [
(UnitOfTemperature.CELSIUS, "180", 220, 220, "180"), (METRIC_SYSTEM, "180", 220, 220, "180"),
(UnitOfTemperature.FAHRENHEIT, "356", 220, 428, "356"), (US_CUSTOMARY_SYSTEM, "356", 220, 428, "356"),
], ],
) )
async def test_temperature_control_water_heater_set_temperature( async def test_temperature_control_water_heater_set_temperature(
hass: HomeAssistant, hass: HomeAssistant,
unit: UnitOfTemperature, unit: UnitSystem,
temp_init: str, temp_init: str,
temp_in: float, temp_in: float,
temp_out: float, temp_out: float,
current_init: str, current_init: str,
) -> None: ) -> None:
"""Test TemperatureControl trait support for water heater domain - SetTemperature.""" """Test TemperatureControl trait support for water heater domain - SetTemperature."""
hass.config.units.temperature_unit = unit hass.config.units = unit
min_temp = TemperatureConverter.convert( min_temp = TemperatureConverter.convert(
40, 40,
UnitOfTemperature.CELSIUS, UnitOfTemperature.CELSIUS,
unit, unit.temperature_unit,
) )
max_temp = TemperatureConverter.convert( max_temp = TemperatureConverter.convert(
230, 230,
UnitOfTemperature.CELSIUS, UnitOfTemperature.CELSIUS,
unit, unit.temperature_unit,
) )
trt = trait.TemperatureControlTrait( trt = trait.TemperatureControlTrait(
@ -3633,17 +3629,17 @@ async def test_temperature_control_sensor(hass: HomeAssistant) -> None:
@pytest.mark.parametrize( @pytest.mark.parametrize(
("unit_in", "unit_out", "state", "ambient"), ("unit_in", "unit_out", "state", "ambient"),
[ [
(UnitOfTemperature.FAHRENHEIT, "F", "70", 21.1), (US_CUSTOMARY_SYSTEM, "F", "70", 21.1),
(UnitOfTemperature.CELSIUS, "C", "21.1", 21.1), (METRIC_SYSTEM, "C", "21.1", 21.1),
(UnitOfTemperature.FAHRENHEIT, "F", "unavailable", None), (US_CUSTOMARY_SYSTEM, "F", "unavailable", None),
(UnitOfTemperature.FAHRENHEIT, "F", "unknown", None), (US_CUSTOMARY_SYSTEM, "F", "unknown", None),
], ],
) )
async def test_temperature_control_sensor_data( async def test_temperature_control_sensor_data(
hass: HomeAssistant, unit_in, unit_out, state, ambient hass: HomeAssistant, unit_in: UnitSystem, unit_out, state, ambient
) -> None: ) -> None:
"""Test TemperatureControl trait support for temperature sensor.""" """Test TemperatureControl trait support for temperature sensor."""
hass.config.units.temperature_unit = unit_in hass.config.units = unit_in
trt = trait.TemperatureControlTrait( trt = trait.TemperatureControlTrait(
hass, hass,
@ -3668,7 +3664,6 @@ async def test_temperature_control_sensor_data(
} }
else: else:
assert trt.query_attributes() == {} assert trt.query_attributes() == {}
hass.config.units.temperature_unit = UnitOfTemperature.CELSIUS
async def test_humidity_setting_sensor(hass: HomeAssistant) -> None: async def test_humidity_setting_sensor(hass: HomeAssistant) -> None: