mirror of
https://github.com/home-assistant/core.git
synced 2025-04-19 14:57:52 +00:00
Use disabled_by constants (#49584)
Co-authored-by: J. Nick Koston <nick@koston.org>
This commit is contained in:
parent
d52bc2373f
commit
a396619251
@ -311,7 +311,7 @@ async def config_entry_update(hass, connection, msg):
|
||||
"type": "config_entries/disable",
|
||||
"entry_id": str,
|
||||
# We only allow setting disabled_by user via API.
|
||||
"disabled_by": vol.Any("user", None),
|
||||
"disabled_by": vol.Any(config_entries.DISABLED_USER, None),
|
||||
}
|
||||
)
|
||||
async def config_entry_disable(hass, connection, msg):
|
||||
|
@ -7,7 +7,7 @@ from homeassistant.components.websocket_api.decorators import (
|
||||
require_admin,
|
||||
)
|
||||
from homeassistant.core import callback
|
||||
from homeassistant.helpers.device_registry import async_get_registry
|
||||
from homeassistant.helpers.device_registry import DISABLED_USER, async_get_registry
|
||||
|
||||
WS_TYPE_LIST = "config/device_registry/list"
|
||||
SCHEMA_WS_LIST = websocket_api.BASE_COMMAND_MESSAGE_SCHEMA.extend(
|
||||
@ -22,7 +22,7 @@ SCHEMA_WS_UPDATE = websocket_api.BASE_COMMAND_MESSAGE_SCHEMA.extend(
|
||||
vol.Optional("area_id"): vol.Any(str, None),
|
||||
vol.Optional("name_by_user"): vol.Any(str, None),
|
||||
# We only allow setting disabled_by user via API.
|
||||
vol.Optional("disabled_by"): vol.Any("user", None),
|
||||
vol.Optional("disabled_by"): vol.Any(DISABLED_USER, None),
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -10,7 +10,7 @@ from homeassistant.components.websocket_api.decorators import (
|
||||
)
|
||||
from homeassistant.core import callback
|
||||
from homeassistant.helpers import config_validation as cv
|
||||
from homeassistant.helpers.entity_registry import async_get_registry
|
||||
from homeassistant.helpers.entity_registry import DISABLED_USER, async_get_registry
|
||||
|
||||
|
||||
async def async_setup(hass):
|
||||
@ -75,7 +75,7 @@ async def websocket_get_entity(hass, connection, msg):
|
||||
vol.Optional("area_id"): vol.Any(str, None),
|
||||
vol.Optional("new_entity_id"): str,
|
||||
# We only allow setting disabled_by user via API.
|
||||
vol.Optional("disabled_by"): vol.Any("user", None),
|
||||
vol.Optional("disabled_by"): vol.Any(DISABLED_USER, None),
|
||||
}
|
||||
)
|
||||
async def websocket_update_entity(hass, connection, msg):
|
||||
|
@ -173,7 +173,7 @@ async def test_sensor_disabled(hass):
|
||||
assert entry
|
||||
assert entry.unique_id == "0123456-apparenttemperature"
|
||||
assert entry.disabled
|
||||
assert entry.disabled_by == "integration"
|
||||
assert entry.disabled_by == er.DISABLED_INTEGRATION
|
||||
|
||||
# Test enabling entity
|
||||
updated_entry = registry.async_update_entity(
|
||||
|
@ -250,7 +250,7 @@ async def test_disabled_by_default_sensors(hass):
|
||||
assert entry
|
||||
assert entry.unique_id == "0123456789_uptime"
|
||||
assert entry.disabled
|
||||
assert entry.disabled_by == "integration"
|
||||
assert entry.disabled_by == er.DISABLED_INTEGRATION
|
||||
|
||||
|
||||
async def test_availability(hass):
|
||||
|
@ -73,7 +73,7 @@ async def test_get_entries(hass, client):
|
||||
domain="comp3",
|
||||
title="Test 3",
|
||||
source="bla3",
|
||||
disabled_by="user",
|
||||
disabled_by=core_ce.DISABLED_USER,
|
||||
).add_to_hass(hass)
|
||||
|
||||
resp = await client.get("/api/config/config_entries/entry")
|
||||
@ -112,7 +112,7 @@ async def test_get_entries(hass, client):
|
||||
"connection_class": "unknown",
|
||||
"supports_options": False,
|
||||
"supports_unload": False,
|
||||
"disabled_by": "user",
|
||||
"disabled_by": core_ce.DISABLED_USER,
|
||||
"reason": None,
|
||||
},
|
||||
]
|
||||
@ -800,14 +800,14 @@ async def test_disable_entry(hass, hass_ws_client):
|
||||
"id": 5,
|
||||
"type": "config_entries/disable",
|
||||
"entry_id": entry.entry_id,
|
||||
"disabled_by": "user",
|
||||
"disabled_by": core_ce.DISABLED_USER,
|
||||
}
|
||||
)
|
||||
response = await ws_client.receive_json()
|
||||
|
||||
assert response["success"]
|
||||
assert response["result"] == {"require_restart": True}
|
||||
assert entry.disabled_by == "user"
|
||||
assert entry.disabled_by == core_ce.DISABLED_USER
|
||||
assert entry.state == "failed_unload"
|
||||
|
||||
# Enable
|
||||
@ -853,7 +853,7 @@ async def test_disable_entry_nonexisting(hass, hass_ws_client):
|
||||
"id": 5,
|
||||
"type": "config_entries/disable",
|
||||
"entry_id": "non_existing",
|
||||
"disabled_by": "user",
|
||||
"disabled_by": core_ce.DISABLED_USER,
|
||||
}
|
||||
)
|
||||
response = await ws_client.receive_json()
|
||||
|
@ -2,6 +2,7 @@
|
||||
import pytest
|
||||
|
||||
from homeassistant.components.config import device_registry
|
||||
from homeassistant.helpers import device_registry as helpers_dr
|
||||
|
||||
from tests.common import mock_device_registry
|
||||
from tests.components.blueprint.conftest import stub_blueprint_populate # noqa: F401
|
||||
@ -94,7 +95,7 @@ async def test_update_device(hass, client, registry):
|
||||
"device_id": device.id,
|
||||
"area_id": "12345A",
|
||||
"name_by_user": "Test Friendly Name",
|
||||
"disabled_by": "user",
|
||||
"disabled_by": helpers_dr.DISABLED_USER,
|
||||
"type": "config/device_registry/update",
|
||||
}
|
||||
)
|
||||
@ -104,5 +105,5 @@ async def test_update_device(hass, client, registry):
|
||||
assert msg["result"]["id"] == device.id
|
||||
assert msg["result"]["area_id"] == "12345A"
|
||||
assert msg["result"]["name_by_user"] == "Test Friendly Name"
|
||||
assert msg["result"]["disabled_by"] == "user"
|
||||
assert msg["result"]["disabled_by"] == helpers_dr.DISABLED_USER
|
||||
assert len(registry.devices) == 1
|
||||
|
@ -5,7 +5,7 @@ import pytest
|
||||
|
||||
from homeassistant.components.config import entity_registry
|
||||
from homeassistant.const import ATTR_ICON
|
||||
from homeassistant.helpers.entity_registry import RegistryEntry
|
||||
from homeassistant.helpers.entity_registry import DISABLED_USER, RegistryEntry
|
||||
|
||||
from tests.common import (
|
||||
MockConfigEntry,
|
||||
@ -200,14 +200,14 @@ async def test_update_entity(hass, client):
|
||||
"id": 7,
|
||||
"type": "config/entity_registry/update",
|
||||
"entity_id": "test_domain.world",
|
||||
"disabled_by": "user",
|
||||
"disabled_by": DISABLED_USER,
|
||||
}
|
||||
)
|
||||
|
||||
msg = await client.receive_json()
|
||||
|
||||
assert hass.states.get("test_domain.world") is None
|
||||
assert registry.entities["test_domain.world"].disabled_by == "user"
|
||||
assert registry.entities["test_domain.world"].disabled_by == DISABLED_USER
|
||||
|
||||
# UPDATE DISABLED_BY TO NONE
|
||||
await client.send_json(
|
||||
@ -305,7 +305,7 @@ async def test_enable_entity_disabled_device(hass, client, device_registry):
|
||||
identifiers={("bridgeid", "0123")},
|
||||
manufacturer="manufacturer",
|
||||
model="model",
|
||||
disabled_by="user",
|
||||
disabled_by=DISABLED_USER,
|
||||
)
|
||||
|
||||
mock_registry(
|
||||
|
@ -1345,7 +1345,7 @@ async def test_lights_can_be_enabled(hass: HomeAssistantType) -> None:
|
||||
entry = entity_registry.async_get(TEST_PRIORITY_LIGHT_ENTITY_ID_1)
|
||||
assert entry
|
||||
assert entry.disabled
|
||||
assert entry.disabled_by == "integration"
|
||||
assert entry.disabled_by == er.DISABLED_INTEGRATION
|
||||
entity_state = hass.states.get(TEST_PRIORITY_LIGHT_ENTITY_ID_1)
|
||||
assert not entity_state
|
||||
|
||||
|
@ -199,7 +199,7 @@ async def test_switches_can_be_enabled(hass: HomeAssistantType) -> None:
|
||||
entry = entity_registry.async_get(entity_id)
|
||||
assert entry
|
||||
assert entry.disabled
|
||||
assert entry.disabled_by == "integration"
|
||||
assert entry.disabled_by == er.DISABLED_INTEGRATION
|
||||
entity_state = hass.states.get(entity_id)
|
||||
assert not entity_state
|
||||
|
||||
|
@ -95,7 +95,7 @@ async def test_disabled_by_default_sensors(
|
||||
entry = registry.async_get("sensor.epson_xp_6000_series_uptime")
|
||||
assert entry
|
||||
assert entry.disabled
|
||||
assert entry.disabled_by == "integration"
|
||||
assert entry.disabled_by == er.DISABLED_INTEGRATION
|
||||
|
||||
|
||||
async def test_missing_entry_unique_id(
|
||||
|
@ -23,7 +23,7 @@ async def test_disabled_by_default(hass, mock_litejet):
|
||||
entry = registry.async_get(ENTITY_SCENE)
|
||||
assert entry
|
||||
assert entry.disabled
|
||||
assert entry.disabled_by == "integration"
|
||||
assert entry.disabled_by == er.DISABLED_INTEGRATION
|
||||
|
||||
|
||||
async def test_activate(hass, mock_litejet):
|
||||
|
@ -21,7 +21,7 @@ async def test_tracking_home(hass, mock_weather):
|
||||
entry = registry.async_get("weather.test_home_hourly")
|
||||
assert entry
|
||||
assert entry.disabled
|
||||
assert entry.disabled_by == "integration"
|
||||
assert entry.disabled_by == er.DISABLED_INTEGRATION
|
||||
|
||||
# Test we track config
|
||||
await hass.config.async_update(latitude=10, longitude=20)
|
||||
|
@ -518,7 +518,7 @@ async def test_first_run_with_failing_zones(hass):
|
||||
|
||||
entry = registry.async_get(ZONE_7_ID)
|
||||
assert entry.disabled
|
||||
assert entry.disabled_by == "integration"
|
||||
assert entry.disabled_by == er.DISABLED_INTEGRATION
|
||||
|
||||
|
||||
async def test_not_first_run_with_failing_zone(hass):
|
||||
|
@ -22,7 +22,7 @@ async def test_binary_sensor(hass, generic_data, binary_sensor_msg):
|
||||
entry = registry.async_get(entity_id)
|
||||
assert entry
|
||||
assert entry.disabled
|
||||
assert entry.disabled_by == "integration"
|
||||
assert entry.disabled_by == er.DISABLED_INTEGRATION
|
||||
|
||||
# Test enabling legacy entity
|
||||
updated_entry = registry.async_update_entity(
|
||||
|
@ -43,7 +43,7 @@ async def test_sensor(hass, generic_data):
|
||||
entry = registry.async_get(entity_id)
|
||||
assert entry
|
||||
assert entry.disabled
|
||||
assert entry.disabled_by == "integration"
|
||||
assert entry.disabled_by == er.DISABLED_INTEGRATION
|
||||
|
||||
# Test enabling entity
|
||||
updated_entry = registry.async_update_entity(
|
||||
|
@ -117,7 +117,7 @@ async def test_disabled_by_default_sensors(
|
||||
entry = registry.async_get(entity_id)
|
||||
assert entry
|
||||
assert entry.disabled
|
||||
assert entry.disabled_by == "integration"
|
||||
assert entry.disabled_by == er.DISABLED_INTEGRATION
|
||||
|
||||
|
||||
async def test_availability(
|
||||
|
@ -542,7 +542,7 @@ async def test_enable_status_sensor(hass, mqtt_mock, setup_tasmota):
|
||||
assert state is None
|
||||
entry = entity_reg.async_get("sensor.tasmota_signal")
|
||||
assert entry.disabled
|
||||
assert entry.disabled_by == "integration"
|
||||
assert entry.disabled_by == er.DISABLED_INTEGRATION
|
||||
|
||||
# Enable the status sensor
|
||||
updated_entry = entity_reg.async_update_entity(
|
||||
|
@ -194,4 +194,4 @@ async def test_disabled_by_default_sensors(
|
||||
entry = registry.async_get(entity_id)
|
||||
assert entry
|
||||
assert entry.disabled
|
||||
assert entry.disabled_by == "integration"
|
||||
assert entry.disabled_by == er.DISABLED_INTEGRATION
|
||||
|
@ -69,7 +69,7 @@ async def test_disabled_legacy_sensor(hass, multisensor_6, integration):
|
||||
entry = registry.async_get(entity_id)
|
||||
assert entry
|
||||
assert entry.disabled
|
||||
assert entry.disabled_by == "integration"
|
||||
assert entry.disabled_by == er.DISABLED_INTEGRATION
|
||||
|
||||
# Test enabling legacy entity
|
||||
updated_entry = registry.async_update_entity(
|
||||
|
@ -4,6 +4,7 @@ from unittest.mock import patch
|
||||
|
||||
import pytest
|
||||
|
||||
from homeassistant import config_entries
|
||||
from homeassistant.const import EVENT_HOMEASSISTANT_STARTED
|
||||
from homeassistant.core import CoreState, callback
|
||||
from homeassistant.exceptions import RequiredParameterMissing
|
||||
@ -181,7 +182,7 @@ async def test_loading_from_storage(hass, hass_storage):
|
||||
"entry_type": "service",
|
||||
"area_id": "12345A",
|
||||
"name_by_user": "Test Friendly Name",
|
||||
"disabled_by": "user",
|
||||
"disabled_by": device_registry.DISABLED_USER,
|
||||
"suggested_area": "Kitchen",
|
||||
}
|
||||
],
|
||||
@ -212,7 +213,7 @@ async def test_loading_from_storage(hass, hass_storage):
|
||||
assert entry.area_id == "12345A"
|
||||
assert entry.name_by_user == "Test Friendly Name"
|
||||
assert entry.entry_type == "service"
|
||||
assert entry.disabled_by == "user"
|
||||
assert entry.disabled_by == device_registry.DISABLED_USER
|
||||
assert isinstance(entry.config_entries, set)
|
||||
assert isinstance(entry.connections, set)
|
||||
assert isinstance(entry.identifiers, set)
|
||||
@ -493,7 +494,7 @@ async def test_loading_saving_data(hass, registry, area_registry):
|
||||
manufacturer="manufacturer",
|
||||
model="light",
|
||||
via_device=("hue", "0123"),
|
||||
disabled_by="user",
|
||||
disabled_by=device_registry.DISABLED_USER,
|
||||
)
|
||||
|
||||
orig_light2 = registry.async_get_or_create(
|
||||
@ -542,7 +543,7 @@ async def test_loading_saving_data(hass, registry, area_registry):
|
||||
manufacturer="manufacturer",
|
||||
model="light",
|
||||
via_device=("hue", "0123"),
|
||||
disabled_by="user",
|
||||
disabled_by=device_registry.DISABLED_USER,
|
||||
suggested_area="Kitchen",
|
||||
)
|
||||
|
||||
@ -651,7 +652,7 @@ async def test_update(registry):
|
||||
name_by_user="Test Friendly Name",
|
||||
new_identifiers=new_identifiers,
|
||||
via_device_id="98765B",
|
||||
disabled_by="user",
|
||||
disabled_by=device_registry.DISABLED_USER,
|
||||
)
|
||||
|
||||
assert mock_save.call_count == 1
|
||||
@ -662,7 +663,7 @@ async def test_update(registry):
|
||||
assert updated_entry.name_by_user == "Test Friendly Name"
|
||||
assert updated_entry.identifiers == new_identifiers
|
||||
assert updated_entry.via_device_id == "98765B"
|
||||
assert updated_entry.disabled_by == "user"
|
||||
assert updated_entry.disabled_by == device_registry.DISABLED_USER
|
||||
|
||||
assert registry.async_get_device({("hue", "456")}) is None
|
||||
assert registry.async_get_device({("bla", "123")}) is None
|
||||
@ -1226,21 +1227,23 @@ async def test_disable_config_entry_disables_devices(hass, registry):
|
||||
entry2 = registry.async_get_or_create(
|
||||
config_entry_id=config_entry.entry_id,
|
||||
connections={("mac", "34:56:AB:CD:EF:12")},
|
||||
disabled_by="user",
|
||||
disabled_by=device_registry.DISABLED_USER,
|
||||
)
|
||||
|
||||
assert not entry1.disabled
|
||||
assert entry2.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.id)
|
||||
assert entry1.disabled
|
||||
assert entry1.disabled_by == "config_entry"
|
||||
assert entry1.disabled_by == device_registry.DISABLED_CONFIG_ENTRY
|
||||
entry2 = registry.async_get(entry2.id)
|
||||
assert entry2.disabled
|
||||
assert entry2.disabled_by == "user"
|
||||
assert entry2.disabled_by == device_registry.DISABLED_USER
|
||||
|
||||
await hass.config_entries.async_set_disabled_by(config_entry.entry_id, None)
|
||||
await hass.async_block_till_done()
|
||||
@ -1249,4 +1252,4 @@ async def test_disable_config_entry_disables_devices(hass, registry):
|
||||
assert not entry1.disabled
|
||||
entry2 = registry.async_get(entry2.id)
|
||||
assert entry2.disabled
|
||||
assert entry2.disabled_by == "user"
|
||||
assert entry2.disabled_by == device_registry.DISABLED_USER
|
||||
|
@ -575,7 +575,7 @@ async def test_warn_disabled(hass, caplog):
|
||||
entity_id="hello.world",
|
||||
unique_id="test-unique-id",
|
||||
platform="test-platform",
|
||||
disabled_by="user",
|
||||
disabled_by=entity_registry.DISABLED_USER,
|
||||
)
|
||||
mock_registry(hass, {"hello.world": entry})
|
||||
|
||||
@ -616,7 +616,9 @@ async def test_disabled_in_entity_registry(hass):
|
||||
await ent.add_to_platform_finish()
|
||||
assert hass.states.get("hello.world") is not None
|
||||
|
||||
entry2 = registry.async_update_entity("hello.world", disabled_by="user")
|
||||
entry2 = registry.async_update_entity(
|
||||
"hello.world", disabled_by=entity_registry.DISABLED_USER
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
assert entry2 != entry
|
||||
assert ent.registry_entry == entry2
|
||||
|
@ -926,7 +926,7 @@ async def test_entity_disabled_by_integration(hass):
|
||||
entry_default = registry.async_get_or_create(DOMAIN, DOMAIN, "default")
|
||||
assert entry_default.disabled_by is None
|
||||
entry_disabled = registry.async_get_or_create(DOMAIN, DOMAIN, "disabled")
|
||||
assert entry_disabled.disabled_by == "integration"
|
||||
assert entry_disabled.disabled_by == er.DISABLED_INTEGRATION
|
||||
|
||||
|
||||
async def test_entity_info_added_to_entity_registry(hass):
|
||||
|
@ -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)
|
||||
|
@ -504,7 +504,9 @@ async def test_domains_gets_domains_excludes_ignore_and_disabled(manager):
|
||||
domain="ignored", source=config_entries.SOURCE_IGNORE
|
||||
).add_to_manager(manager)
|
||||
MockConfigEntry(domain="test3").add_to_manager(manager)
|
||||
MockConfigEntry(domain="disabled", disabled_by="user").add_to_manager(manager)
|
||||
MockConfigEntry(
|
||||
domain="disabled", disabled_by=config_entries.DISABLED_USER
|
||||
).add_to_manager(manager)
|
||||
assert manager.async_domains() == ["test", "test2", "test3"]
|
||||
assert manager.async_domains(include_ignore=False) == ["test", "test2", "test3"]
|
||||
assert manager.async_domains(include_disabled=False) == ["test", "test2", "test3"]
|
||||
@ -1348,7 +1350,7 @@ async def test_reload_entry_entity_registry_ignores_no_entry(hass):
|
||||
|
||||
# Test we ignore entities without config entry
|
||||
entry = registry.async_get_or_create("light", "hue", "123")
|
||||
registry.async_update_entity(entry.entity_id, disabled_by="user")
|
||||
registry.async_update_entity(entry.entity_id, disabled_by=er.DISABLED_USER)
|
||||
await hass.async_block_till_done()
|
||||
assert not handler.changed
|
||||
assert handler._remove_call_later is None
|
||||
@ -1387,7 +1389,7 @@ async def test_reload_entry_entity_registry_works(hass):
|
||||
assert handler._remove_call_later is None
|
||||
|
||||
# Disable entity, we should not do anything, only act when enabled.
|
||||
registry.async_update_entity(entity_entry.entity_id, disabled_by="user")
|
||||
registry.async_update_entity(entity_entry.entity_id, disabled_by=er.DISABLED_USER)
|
||||
await hass.async_block_till_done()
|
||||
assert not handler.changed
|
||||
assert handler._remove_call_later is None
|
||||
|
Loading…
x
Reference in New Issue
Block a user