mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Fix package default extraction (#33071)
This commit is contained in:
parent
85328399e0
commit
b6d9454b54
@ -574,7 +574,9 @@ def _identify_config_schema(module: ModuleType) -> Optional[str]:
|
|||||||
if hasattr(key, "default") and not isinstance(
|
if hasattr(key, "default") and not isinstance(
|
||||||
key.default, vol.schema_builder.Undefined
|
key.default, vol.schema_builder.Undefined
|
||||||
):
|
):
|
||||||
default_value = schema(key.default())
|
default_value = module.CONFIG_SCHEMA({module.DOMAIN: key.default()})[ # type: ignore
|
||||||
|
module.DOMAIN # type: ignore
|
||||||
|
]
|
||||||
|
|
||||||
if isinstance(default_value, dict):
|
if isinstance(default_value, dict):
|
||||||
return "dict"
|
return "dict"
|
||||||
|
@ -995,8 +995,20 @@ async def test_component_config_exceptions(hass, caplog):
|
|||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"domain, schema, expected",
|
"domain, schema, expected",
|
||||||
[
|
[
|
||||||
("zone", vol.Schema({vol.Optional("zone", default=[]): list}), "list"),
|
("zone", vol.Schema({vol.Optional("zone", default=list): [int]}), "list"),
|
||||||
("zone", vol.Schema({vol.Optional("zone", default=dict): dict}), "dict"),
|
("zone", vol.Schema({vol.Optional("zone", default=[]): [int]}), "list"),
|
||||||
|
(
|
||||||
|
"zone",
|
||||||
|
vol.Schema({vol.Optional("zone", default={}): {vol.Optional("hello"): 1}}),
|
||||||
|
"dict",
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"zone",
|
||||||
|
vol.Schema(
|
||||||
|
{vol.Optional("zone", default=dict): {vol.Optional("hello"): 1}}
|
||||||
|
),
|
||||||
|
"dict",
|
||||||
|
),
|
||||||
("zone", vol.Schema({vol.Optional("zone"): int}), None),
|
("zone", vol.Schema({vol.Optional("zone"): int}), None),
|
||||||
("zone", vol.Schema({"zone": int}), None),
|
("zone", vol.Schema({"zone": int}), None),
|
||||||
("not_existing", vol.Schema({vol.Optional("zone", default=dict): dict}), None,),
|
("not_existing", vol.Schema({vol.Optional("zone", default=dict): dict}), None,),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user