1
0
mirror of https://github.com/home-assistant/core.git synced 2025-12-24 21:06:19 +00:00

Improve entity cached attributes (#128876)

This commit is contained in:
Erik Montnemery
2024-10-21 10:29:01 +02:00
committed by GitHub
parent 827d6d1d2d
commit 0d447c9d50
2 changed files with 17 additions and 2 deletions

View File

@@ -2314,7 +2314,12 @@ async def test_update_capabilities_too_often_cooldown(
@pytest.mark.parametrize(
("property", "default_value", "values"), [("attribution", None, ["abcd", "efgh"])]
("property", "default_value", "values"),
[
("attribution", None, ["abcd", "efgh"]),
("attribution", None, [True, 1]),
("attribution", None, [1.0, 1]),
],
)
async def test_cached_entity_properties(
hass: HomeAssistant, property: str, default_value: Any, values: Any
@@ -2323,22 +2328,30 @@ async def test_cached_entity_properties(
ent1 = entity.Entity()
ent2 = entity.Entity()
assert getattr(ent1, property) == default_value
assert type(getattr(ent1, property)) is type(default_value)
assert getattr(ent2, property) == default_value
assert type(getattr(ent2, property)) is type(default_value)
# Test set
setattr(ent1, f"_attr_{property}", values[0])
assert getattr(ent1, property) == values[0]
assert type(getattr(ent1, property)) is type(values[0])
assert getattr(ent2, property) == default_value
assert type(getattr(ent2, property)) is type(default_value)
# Test update
setattr(ent1, f"_attr_{property}", values[1])
assert getattr(ent1, property) == values[1]
assert type(getattr(ent1, property)) is type(values[1])
assert getattr(ent2, property) == default_value
assert type(getattr(ent2, property)) is type(default_value)
# Test delete
delattr(ent1, f"_attr_{property}")
assert getattr(ent1, property) == default_value
assert type(getattr(ent1, property)) is type(default_value)
assert getattr(ent2, property) == default_value
assert type(getattr(ent2, property)) is type(default_value)
async def test_cached_entity_property_delete_attr(hass: HomeAssistant) -> None: