mirror of
https://github.com/home-assistant/core.git
synced 2025-12-24 21:06:19 +00:00
Use disabled_by constants (#49584)
Co-authored-by: J. Nick Koston <nick@koston.org>
This commit is contained in:
@@ -3,6 +3,7 @@ from unittest.mock import patch
|
||||
|
||||
import pytest
|
||||
|
||||
from homeassistant import config_entries
|
||||
from homeassistant.const import EVENT_HOMEASSISTANT_START, STATE_UNAVAILABLE
|
||||
from homeassistant.core import CoreState, callback, valid_entity_id
|
||||
from homeassistant.helpers import entity_registry as er
|
||||
@@ -239,19 +240,19 @@ async def test_loading_extra_values(hass, hass_storage):
|
||||
"entity_id": "test.disabled_user",
|
||||
"platform": "super_platform",
|
||||
"unique_id": "disabled-user",
|
||||
"disabled_by": "user",
|
||||
"disabled_by": er.DISABLED_USER,
|
||||
},
|
||||
{
|
||||
"entity_id": "test.disabled_hass",
|
||||
"platform": "super_platform",
|
||||
"unique_id": "disabled-hass",
|
||||
"disabled_by": "hass",
|
||||
"disabled_by": er.DISABLED_HASS,
|
||||
},
|
||||
{
|
||||
"entity_id": "test.invalid__entity",
|
||||
"platform": "super_platform",
|
||||
"unique_id": "invalid-hass",
|
||||
"disabled_by": "hass",
|
||||
"disabled_by": er.DISABLED_HASS,
|
||||
},
|
||||
]
|
||||
},
|
||||
@@ -361,7 +362,7 @@ async def test_migration(hass):
|
||||
"unique_id": "test-unique",
|
||||
"platform": "test-platform",
|
||||
"name": "Test Name",
|
||||
"disabled_by": "hass",
|
||||
"disabled_by": er.DISABLED_HASS,
|
||||
}
|
||||
}
|
||||
with patch("os.path.isfile", return_value=True), patch("os.remove"), patch(
|
||||
@@ -378,7 +379,7 @@ async def test_migration(hass):
|
||||
config_entry=mock_config,
|
||||
)
|
||||
assert entry.name == "Test Name"
|
||||
assert entry.disabled_by == "hass"
|
||||
assert entry.disabled_by == er.DISABLED_HASS
|
||||
assert entry.config_entry_id == "test-config-id"
|
||||
|
||||
|
||||
@@ -497,13 +498,15 @@ async def test_update_entity(registry):
|
||||
|
||||
async def test_disabled_by(registry):
|
||||
"""Test that we can disable an entry when we create it."""
|
||||
entry = registry.async_get_or_create("light", "hue", "5678", disabled_by="hass")
|
||||
assert entry.disabled_by == "hass"
|
||||
entry = registry.async_get_or_create(
|
||||
"light", "hue", "5678", disabled_by=er.DISABLED_HASS
|
||||
)
|
||||
assert entry.disabled_by == er.DISABLED_HASS
|
||||
|
||||
entry = registry.async_get_or_create(
|
||||
"light", "hue", "5678", disabled_by="integration"
|
||||
"light", "hue", "5678", disabled_by=er.DISABLED_INTEGRATION
|
||||
)
|
||||
assert entry.disabled_by == "hass"
|
||||
assert entry.disabled_by == er.DISABLED_HASS
|
||||
|
||||
entry2 = registry.async_get_or_create("light", "hue", "1234")
|
||||
assert entry2.disabled_by is None
|
||||
@@ -519,12 +522,16 @@ async def test_disabled_by_system_options(registry):
|
||||
entry = registry.async_get_or_create(
|
||||
"light", "hue", "AAAA", config_entry=mock_config
|
||||
)
|
||||
assert entry.disabled_by == "integration"
|
||||
assert entry.disabled_by == er.DISABLED_INTEGRATION
|
||||
|
||||
entry2 = registry.async_get_or_create(
|
||||
"light", "hue", "BBBB", config_entry=mock_config, disabled_by="user"
|
||||
"light",
|
||||
"hue",
|
||||
"BBBB",
|
||||
config_entry=mock_config,
|
||||
disabled_by=er.DISABLED_USER,
|
||||
)
|
||||
assert entry2.disabled_by == "user"
|
||||
assert entry2.disabled_by == er.DISABLED_USER
|
||||
|
||||
|
||||
async def test_restore_states(hass):
|
||||
@@ -755,7 +762,7 @@ async def test_disable_device_disables_entities(hass, registry):
|
||||
"ABCD",
|
||||
config_entry=config_entry,
|
||||
device_id=device_entry.id,
|
||||
disabled_by="user",
|
||||
disabled_by=er.DISABLED_USER,
|
||||
)
|
||||
entry3 = registry.async_get_or_create(
|
||||
"light",
|
||||
@@ -763,25 +770,25 @@ async def test_disable_device_disables_entities(hass, registry):
|
||||
"EFGH",
|
||||
config_entry=config_entry,
|
||||
device_id=device_entry.id,
|
||||
disabled_by="config_entry",
|
||||
disabled_by=er.DISABLED_CONFIG_ENTRY,
|
||||
)
|
||||
|
||||
assert not entry1.disabled
|
||||
assert entry2.disabled
|
||||
assert entry3.disabled
|
||||
|
||||
device_registry.async_update_device(device_entry.id, disabled_by="user")
|
||||
device_registry.async_update_device(device_entry.id, disabled_by=er.DISABLED_USER)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
entry1 = registry.async_get(entry1.entity_id)
|
||||
assert entry1.disabled
|
||||
assert entry1.disabled_by == "device"
|
||||
assert entry1.disabled_by == er.DISABLED_DEVICE
|
||||
entry2 = registry.async_get(entry2.entity_id)
|
||||
assert entry2.disabled
|
||||
assert entry2.disabled_by == "user"
|
||||
assert entry2.disabled_by == er.DISABLED_USER
|
||||
entry3 = registry.async_get(entry3.entity_id)
|
||||
assert entry3.disabled
|
||||
assert entry3.disabled_by == "config_entry"
|
||||
assert entry3.disabled_by == er.DISABLED_CONFIG_ENTRY
|
||||
|
||||
device_registry.async_update_device(device_entry.id, disabled_by=None)
|
||||
await hass.async_block_till_done()
|
||||
@@ -790,10 +797,10 @@ async def test_disable_device_disables_entities(hass, registry):
|
||||
assert not entry1.disabled
|
||||
entry2 = registry.async_get(entry2.entity_id)
|
||||
assert entry2.disabled
|
||||
assert entry2.disabled_by == "user"
|
||||
assert entry2.disabled_by == er.DISABLED_USER
|
||||
entry3 = registry.async_get(entry3.entity_id)
|
||||
assert entry3.disabled
|
||||
assert entry3.disabled_by == "config_entry"
|
||||
assert entry3.disabled_by == er.DISABLED_CONFIG_ENTRY
|
||||
|
||||
|
||||
async def test_disable_config_entry_disables_entities(hass, registry):
|
||||
@@ -820,7 +827,7 @@ async def test_disable_config_entry_disables_entities(hass, registry):
|
||||
"ABCD",
|
||||
config_entry=config_entry,
|
||||
device_id=device_entry.id,
|
||||
disabled_by="user",
|
||||
disabled_by=er.DISABLED_USER,
|
||||
)
|
||||
entry3 = registry.async_get_or_create(
|
||||
"light",
|
||||
@@ -828,25 +835,27 @@ async def test_disable_config_entry_disables_entities(hass, registry):
|
||||
"EFGH",
|
||||
config_entry=config_entry,
|
||||
device_id=device_entry.id,
|
||||
disabled_by="device",
|
||||
disabled_by=er.DISABLED_DEVICE,
|
||||
)
|
||||
|
||||
assert not entry1.disabled
|
||||
assert entry2.disabled
|
||||
assert entry3.disabled
|
||||
|
||||
await hass.config_entries.async_set_disabled_by(config_entry.entry_id, "user")
|
||||
await hass.config_entries.async_set_disabled_by(
|
||||
config_entry.entry_id, config_entries.DISABLED_USER
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
entry1 = registry.async_get(entry1.entity_id)
|
||||
assert entry1.disabled
|
||||
assert entry1.disabled_by == "config_entry"
|
||||
assert entry1.disabled_by == er.DISABLED_CONFIG_ENTRY
|
||||
entry2 = registry.async_get(entry2.entity_id)
|
||||
assert entry2.disabled
|
||||
assert entry2.disabled_by == "user"
|
||||
assert entry2.disabled_by == er.DISABLED_USER
|
||||
entry3 = registry.async_get(entry3.entity_id)
|
||||
assert entry3.disabled
|
||||
assert entry3.disabled_by == "device"
|
||||
assert entry3.disabled_by == er.DISABLED_DEVICE
|
||||
|
||||
await hass.config_entries.async_set_disabled_by(config_entry.entry_id, None)
|
||||
await hass.async_block_till_done()
|
||||
@@ -855,7 +864,7 @@ async def test_disable_config_entry_disables_entities(hass, registry):
|
||||
assert not entry1.disabled
|
||||
entry2 = registry.async_get(entry2.entity_id)
|
||||
assert entry2.disabled
|
||||
assert entry2.disabled_by == "user"
|
||||
assert entry2.disabled_by == er.DISABLED_USER
|
||||
# The device was re-enabled, so entity disabled by the device will be re-enabled too
|
||||
entry3 = registry.async_get(entry3.entity_id)
|
||||
assert not entry3.disabled_by
|
||||
@@ -885,7 +894,7 @@ async def test_disabled_entities_excluded_from_entity_list(hass, registry):
|
||||
"ABCD",
|
||||
config_entry=config_entry,
|
||||
device_id=device_entry.id,
|
||||
disabled_by="user",
|
||||
disabled_by=er.DISABLED_USER,
|
||||
)
|
||||
|
||||
entries = er.async_entries_for_device(registry, device_entry.id)
|
||||
|
||||
Reference in New Issue
Block a user