Remove deprecated switch constants (#131806)

* Remove deprecated switch constants

* Fix
This commit is contained in:
Robert Resch 2024-11-28 13:45:00 +01:00 committed by GitHub
parent 96dfa0e0cf
commit a0584a0516
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 2 additions and 46 deletions

View File

@ -4,7 +4,6 @@ from __future__ import annotations
from datetime import timedelta from datetime import timedelta
from enum import StrEnum from enum import StrEnum
from functools import partial
import logging import logging
from propcache import cached_property from propcache import cached_property
@ -19,12 +18,6 @@ from homeassistant.const import (
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import config_validation as cv from homeassistant.helpers import config_validation as cv
from homeassistant.helpers.deprecation import (
DeprecatedConstantEnum,
all_with_deprecated_constants,
check_if_deprecated_constant,
dir_with_deprecated_constants,
)
from homeassistant.helpers.entity import ToggleEntity, ToggleEntityDescription from homeassistant.helpers.entity import ToggleEntity, ToggleEntityDescription
from homeassistant.helpers.entity_component import EntityComponent from homeassistant.helpers.entity_component import EntityComponent
from homeassistant.helpers.typing import ConfigType from homeassistant.helpers.typing import ConfigType
@ -52,16 +45,8 @@ class SwitchDeviceClass(StrEnum):
DEVICE_CLASSES_SCHEMA = vol.All(vol.Lower, vol.Coerce(SwitchDeviceClass)) DEVICE_CLASSES_SCHEMA = vol.All(vol.Lower, vol.Coerce(SwitchDeviceClass))
# DEVICE_CLASS* below are deprecated as of 2021.12
# use the SwitchDeviceClass enum instead.
DEVICE_CLASSES = [cls.value for cls in SwitchDeviceClass] DEVICE_CLASSES = [cls.value for cls in SwitchDeviceClass]
_DEPRECATED_DEVICE_CLASS_OUTLET = DeprecatedConstantEnum(
SwitchDeviceClass.OUTLET, "2025.1"
)
_DEPRECATED_DEVICE_CLASS_SWITCH = DeprecatedConstantEnum(
SwitchDeviceClass.SWITCH, "2025.1"
)
# mypy: disallow-any-generics # mypy: disallow-any-generics
@ -124,11 +109,3 @@ class SwitchEntity(ToggleEntity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_)
if hasattr(self, "entity_description"): if hasattr(self, "entity_description"):
return self.entity_description.device_class return self.entity_description.device_class
return None return None
# These can be removed if no deprecated constant are in this module anymore
__getattr__ = partial(check_if_deprecated_constant, module_globals=globals())
__dir__ = partial(
dir_with_deprecated_constants, module_globals_keys=[*globals().keys()]
)
__all__ = all_with_deprecated_constants(globals())

View File

@ -11,12 +11,7 @@ from homeassistant.setup import async_setup_component
from . import common from . import common
from .common import MockSwitch from .common import MockSwitch
from tests.common import ( from tests.common import MockUser, setup_test_component_platform
MockUser,
help_test_all,
import_and_test_deprecated_constant_enum,
setup_test_component_platform,
)
@pytest.fixture(autouse=True) @pytest.fixture(autouse=True)
@ -87,19 +82,3 @@ async def test_switch_context(
assert state2 is not None assert state2 is not None
assert state.state != state2.state assert state.state != state2.state
assert state2.context.user_id == hass_admin_user.id assert state2.context.user_id == hass_admin_user.id
def test_all() -> None:
"""Test module.__all__ is correctly set."""
help_test_all(switch)
@pytest.mark.parametrize(("enum"), list(switch.SwitchDeviceClass))
def test_deprecated_constants(
caplog: pytest.LogCaptureFixture,
enum: switch.SwitchDeviceClass,
) -> None:
"""Test deprecated constants."""
import_and_test_deprecated_constant_enum(
caplog, switch, enum, "DEVICE_CLASS_", "2025.1"
)