Deprecate deprecated climate constants (#106096)

This commit is contained in:
Robert Resch
2023-12-21 00:00:21 +01:00
committed by GitHub
parent dfb08e7efd
commit 494a897568
8 changed files with 150 additions and 65 deletions

View File

@@ -1,11 +1,14 @@
"""The tests for the climate component."""
from __future__ import annotations
from enum import Enum
from types import ModuleType
from unittest.mock import MagicMock
import pytest
import voluptuous as vol
from homeassistant.components import climate
from homeassistant.components.climate import (
SET_TEMPERATURE_SCHEMA,
ClimateEntity,
@@ -13,7 +16,11 @@ from homeassistant.components.climate import (
)
from homeassistant.core import HomeAssistant
from tests.common import async_mock_service
from tests.common import (
async_mock_service,
import_and_test_deprecated_constant,
import_and_test_deprecated_constant_enum,
)
async def test_set_temp_schema_no_req(
@@ -96,3 +103,58 @@ async def test_sync_turn_off(hass: HomeAssistant) -> None:
await climate.async_turn_off()
assert climate.turn_off.called
def _create_tuples(enum: Enum, constant_prefix: str) -> list[tuple[Enum, str]]:
result = []
for enum in enum:
result.append((enum, constant_prefix))
return result
@pytest.mark.parametrize(
("enum", "constant_prefix"),
_create_tuples(climate.ClimateEntityFeature, "SUPPORT_")
+ _create_tuples(climate.HVACMode, "HVAC_MODE_"),
)
@pytest.mark.parametrize(
"module",
[climate, climate.const],
)
def test_deprecated_constants(
caplog: pytest.LogCaptureFixture,
enum: Enum,
constant_prefix: str,
module: ModuleType,
) -> None:
"""Test deprecated constants."""
import_and_test_deprecated_constant_enum(
caplog, module, enum, constant_prefix, "2025.1"
)
@pytest.mark.parametrize(
("enum", "constant_postfix"),
[
(climate.HVACAction.OFF, "OFF"),
(climate.HVACAction.HEATING, "HEAT"),
(climate.HVACAction.COOLING, "COOL"),
(climate.HVACAction.DRYING, "DRY"),
(climate.HVACAction.IDLE, "IDLE"),
(climate.HVACAction.FAN, "FAN"),
],
)
def test_deprecated_current_constants(
caplog: pytest.LogCaptureFixture,
enum: climate.HVACAction,
constant_postfix: str,
) -> None:
"""Test deprecated current constants."""
import_and_test_deprecated_constant(
caplog,
climate.const,
"CURRENT_HVAC_" + constant_postfix,
f"{enum.__class__.__name__}.{enum.name}",
enum,
"2025.1",
)