Fix homekit options being mutated during config_flow/migration (#64003)
This commit is contained in:
parent
f034ea5b4b
commit
1019156899
3 changed files with 18 additions and 6 deletions
|
@ -2,9 +2,14 @@
|
|||
from unittest.mock import patch
|
||||
|
||||
from homeassistant import config_entries, data_entry_flow
|
||||
from homeassistant.components.homekit.const import DOMAIN, SHORT_BRIDGE_NAME
|
||||
from homeassistant.components.homekit.const import (
|
||||
CONF_FILTER,
|
||||
DOMAIN,
|
||||
SHORT_BRIDGE_NAME,
|
||||
)
|
||||
from homeassistant.config_entries import SOURCE_IGNORE, SOURCE_IMPORT
|
||||
from homeassistant.const import CONF_NAME, CONF_PORT
|
||||
from homeassistant.helpers.entityfilter import CONF_INCLUDE_DOMAINS
|
||||
from homeassistant.setup import async_setup_component
|
||||
|
||||
from .util import PATH_HOMEKIT, async_init_entry
|
||||
|
@ -347,6 +352,10 @@ async def test_options_flow_exclude_mode_basic(hass, mock_get_source_ip):
|
|||
assert result["type"] == data_entry_flow.RESULT_TYPE_FORM
|
||||
assert result["step_id"] == "include_exclude"
|
||||
|
||||
# Inject garbage to ensure the options data
|
||||
# is being deep copied and we cannot mutate it in flight
|
||||
config_entry.options[CONF_FILTER][CONF_INCLUDE_DOMAINS].append("garbage")
|
||||
|
||||
result2 = await hass.config_entries.options.async_configure(
|
||||
result["flow_id"],
|
||||
user_input={"entities": ["climate.old"], "include_exclude_mode": "exclude"},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue