Skip to content

Commit 3cf0358

Browse files
Remove deprecated state constants from lock (home-assistant#153367)
1 parent 99a796d commit 3cf0358

File tree

4 files changed

+4
-129
lines changed

4 files changed

+4
-129
lines changed

homeassistant/components/lock/__init__.py

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,28 +13,16 @@
1313
import voluptuous as vol
1414

1515
from homeassistant.config_entries import ConfigEntry
16-
from homeassistant.const import ( # noqa: F401
17-
_DEPRECATED_STATE_JAMMED,
18-
_DEPRECATED_STATE_LOCKED,
19-
_DEPRECATED_STATE_LOCKING,
20-
_DEPRECATED_STATE_UNLOCKED,
21-
_DEPRECATED_STATE_UNLOCKING,
16+
from homeassistant.const import (
2217
ATTR_CODE,
2318
ATTR_CODE_FORMAT,
2419
SERVICE_LOCK,
2520
SERVICE_OPEN,
2621
SERVICE_UNLOCK,
27-
STATE_OPEN,
28-
STATE_OPENING,
2922
)
3023
from homeassistant.core import HomeAssistant, callback
3124
from homeassistant.exceptions import ServiceValidationError
3225
from homeassistant.helpers import config_validation as cv
33-
from homeassistant.helpers.deprecation import (
34-
all_with_deprecated_constants,
35-
check_if_deprecated_constant,
36-
dir_with_deprecated_constants,
37-
)
3826
from homeassistant.helpers.entity import Entity, EntityDescription
3927
from homeassistant.helpers.entity_component import EntityComponent
4028
from homeassistant.helpers.typing import ConfigType, StateType
@@ -317,11 +305,3 @@ def _async_read_entity_options(self) -> None:
317305
return
318306

319307
self._lock_option_default_code = ""
320-
321-
322-
# These can be removed if no deprecated constant are in this module anymore
323-
__getattr__ = ft.partial(check_if_deprecated_constant, module_globals=globals())
324-
__dir__ = ft.partial(
325-
dir_with_deprecated_constants, module_globals_keys=[*globals().keys()]
326-
)
327-
__all__ = all_with_deprecated_constants(globals())

homeassistant/const.py

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -315,34 +315,6 @@
315315
STATE_OK: Final = "ok"
316316
STATE_PROBLEM: Final = "problem"
317317

318-
# #### LOCK STATES ####
319-
# STATE_* below are deprecated as of 2024.10
320-
# use the LockState enum instead.
321-
_DEPRECATED_STATE_LOCKED: Final = DeprecatedConstant(
322-
"locked",
323-
"LockState.LOCKED",
324-
"2025.10",
325-
)
326-
_DEPRECATED_STATE_UNLOCKED: Final = DeprecatedConstant(
327-
"unlocked",
328-
"LockState.UNLOCKED",
329-
"2025.10",
330-
)
331-
_DEPRECATED_STATE_LOCKING: Final = DeprecatedConstant(
332-
"locking",
333-
"LockState.LOCKING",
334-
"2025.10",
335-
)
336-
_DEPRECATED_STATE_UNLOCKING: Final = DeprecatedConstant(
337-
"unlocking",
338-
"LockState.UNLOCKING",
339-
"2025.10",
340-
)
341-
_DEPRECATED_STATE_JAMMED: Final = DeprecatedConstant(
342-
"jammed",
343-
"LockState.JAMMED",
344-
"2025.10",
345-
)
346318

347319
# #### ALARM CONTROL PANEL STATES ####
348320
# STATE_ALARM_* below are deprecated as of 2024.11

tests/components/lock/test_init.py

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,11 @@
22

33
from __future__ import annotations
44

5-
from enum import Enum
65
import re
76
from typing import Any
87

98
import pytest
109

11-
from homeassistant.components import lock
1210
from homeassistant.components.lock import (
1311
ATTR_CODE,
1412
CONF_DEFAULT_CODE,
@@ -26,8 +24,6 @@
2624

2725
from .conftest import MockLock
2826

29-
from tests.common import help_test_all, import_and_test_deprecated_constant_enum
30-
3127

3228
async def help_test_async_lock_service(
3329
hass: HomeAssistant,
@@ -382,38 +378,3 @@ async def test_lock_with_illegal_default_code(
382378
== rf"The code for lock.test_lock doesn't match pattern ^\d{{{4}}}$"
383379
)
384380
assert exc.value.translation_key == "add_default_code"
385-
386-
387-
def test_all() -> None:
388-
"""Test module.__all__ is correctly set."""
389-
help_test_all(lock)
390-
391-
392-
def _create_tuples(
393-
enum: type[Enum], constant_prefix: str, remove_in_version: str
394-
) -> list[tuple[Enum, str]]:
395-
return [
396-
(enum_field, constant_prefix, remove_in_version)
397-
for enum_field in enum
398-
if enum_field
399-
not in [
400-
lock.LockState.OPEN,
401-
lock.LockState.OPENING,
402-
]
403-
]
404-
405-
406-
@pytest.mark.parametrize(
407-
("enum", "constant_prefix", "remove_in_version"),
408-
_create_tuples(lock.LockState, "STATE_", "2025.10"),
409-
)
410-
def test_deprecated_constants(
411-
caplog: pytest.LogCaptureFixture,
412-
enum: Enum,
413-
constant_prefix: str,
414-
remove_in_version: str,
415-
) -> None:
416-
"""Test deprecated constants."""
417-
import_and_test_deprecated_constant_enum(
418-
caplog, lock, enum, constant_prefix, remove_in_version
419-
)

tests/test_const.py

Lines changed: 3 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import pytest
99

1010
from homeassistant import const
11-
from homeassistant.components import alarm_control_panel, lock
11+
from homeassistant.components import alarm_control_panel
1212

1313
from .common import (
1414
extract_stack_to_frame,
@@ -52,53 +52,15 @@ def test_deprecated_constant_name_changes(
5252
)
5353

5454

55-
def _create_tuples_lock_states(
56-
enum: type[Enum], constant_prefix: str, remove_in_version: str
57-
) -> list[tuple[Enum, str]]:
58-
return [
59-
(enum_field, constant_prefix, remove_in_version)
60-
for enum_field in enum
61-
if enum_field
62-
not in [
63-
lock.LockState.OPEN,
64-
lock.LockState.OPENING,
65-
]
66-
]
67-
68-
69-
@pytest.mark.parametrize(
70-
("enum", "constant_prefix", "remove_in_version"),
71-
_create_tuples_lock_states(lock.LockState, "STATE_", "2025.10"),
72-
)
73-
def test_deprecated_constants_lock(
74-
caplog: pytest.LogCaptureFixture,
75-
enum: Enum,
76-
constant_prefix: str,
77-
remove_in_version: str,
78-
) -> None:
79-
"""Test deprecated constants."""
80-
import_and_test_deprecated_constant_enum(
81-
caplog, const, enum, constant_prefix, remove_in_version
82-
)
83-
84-
8555
def _create_tuples_alarm_states(
8656
enum: type[Enum], constant_prefix: str, remove_in_version: str
8757
) -> list[tuple[Enum, str]]:
88-
return [
89-
(enum_field, constant_prefix, remove_in_version)
90-
for enum_field in enum
91-
if enum_field
92-
not in [
93-
lock.LockState.OPEN,
94-
lock.LockState.OPENING,
95-
]
96-
]
58+
return [(enum_field, constant_prefix, remove_in_version) for enum_field in enum]
9759

9860

9961
@pytest.mark.parametrize(
10062
("enum", "constant_prefix", "remove_in_version"),
101-
_create_tuples_lock_states(
63+
_create_tuples_alarm_states(
10264
alarm_control_panel.AlarmControlPanelState, "STATE_ALARM_", "2025.11"
10365
),
10466
)

0 commit comments

Comments
 (0)