Remove unused keys from the ZHA config schema (#125710)
parent
1dcd5471a0
commit
06d4b3281b
|
@ -1166,7 +1166,8 @@ CONF_ZHA_OPTIONS_SCHEMA = vol.Schema(
|
||||||
CONF_CONSIDER_UNAVAILABLE_BATTERY,
|
CONF_CONSIDER_UNAVAILABLE_BATTERY,
|
||||||
default=CONF_DEFAULT_CONSIDER_UNAVAILABLE_BATTERY,
|
default=CONF_DEFAULT_CONSIDER_UNAVAILABLE_BATTERY,
|
||||||
): cv.positive_int,
|
): cv.positive_int,
|
||||||
}
|
},
|
||||||
|
extra=vol.REMOVE_EXTRA,
|
||||||
)
|
)
|
||||||
|
|
||||||
CONF_ZHA_ALARM_SCHEMA = vol.Schema(
|
CONF_ZHA_ALARM_SCHEMA = vol.Schema(
|
||||||
|
|
|
@ -5,16 +5,23 @@ from typing import Any
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
import voluptuous_serialize
|
import voluptuous_serialize
|
||||||
|
from zigpy.application import ControllerApplication
|
||||||
from zigpy.types.basic import uint16_t
|
from zigpy.types.basic import uint16_t
|
||||||
from zigpy.zcl.clusters import lighting
|
from zigpy.zcl.clusters import lighting
|
||||||
|
|
||||||
|
import homeassistant.components.zha.const as zha_const
|
||||||
from homeassistant.components.zha.helpers import (
|
from homeassistant.components.zha.helpers import (
|
||||||
cluster_command_schema_to_vol_schema,
|
cluster_command_schema_to_vol_schema,
|
||||||
convert_to_zcl_values,
|
convert_to_zcl_values,
|
||||||
|
create_zha_config,
|
||||||
exclude_none_values,
|
exclude_none_values,
|
||||||
|
get_zha_data,
|
||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
import homeassistant.helpers.config_validation as cv
|
import homeassistant.helpers.config_validation as cv
|
||||||
|
from homeassistant.setup import async_setup_component
|
||||||
|
|
||||||
|
from tests.common import MockConfigEntry
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -177,3 +184,35 @@ def test_exclude_none_values(
|
||||||
|
|
||||||
for key in expected_output:
|
for key in expected_output:
|
||||||
assert expected_output[key] == obj[key]
|
assert expected_output[key] == obj[key]
|
||||||
|
|
||||||
|
|
||||||
|
async def test_create_zha_config_remove_unused(
|
||||||
|
hass: HomeAssistant,
|
||||||
|
config_entry: MockConfigEntry,
|
||||||
|
mock_zigpy_connect: ControllerApplication,
|
||||||
|
) -> None:
|
||||||
|
"""Test creating ZHA config data with unused keys."""
|
||||||
|
config_entry.add_to_hass(hass)
|
||||||
|
|
||||||
|
options = config_entry.options.copy()
|
||||||
|
options["custom_configuration"]["zha_options"]["some_random_key"] = "a value"
|
||||||
|
|
||||||
|
hass.config_entries.async_update_entry(config_entry, options=options)
|
||||||
|
|
||||||
|
assert (
|
||||||
|
config_entry.options["custom_configuration"]["zha_options"]["some_random_key"]
|
||||||
|
== "a value"
|
||||||
|
)
|
||||||
|
|
||||||
|
status = await async_setup_component(
|
||||||
|
hass,
|
||||||
|
zha_const.DOMAIN,
|
||||||
|
{zha_const.DOMAIN: {zha_const.CONF_ENABLE_QUIRKS: False}},
|
||||||
|
)
|
||||||
|
assert status is True
|
||||||
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
|
ha_zha_data = get_zha_data(hass)
|
||||||
|
|
||||||
|
# Does not error out
|
||||||
|
create_zha_config(hass, ha_zha_data)
|
||||||
|
|
Loading…
Reference in New Issue