Blueprint config to override blueprint (#43724)

This commit is contained in:
Paulus Schoutsen 2020-11-28 13:19:58 +01:00 committed by GitHub
parent 6fa3e287da
commit cb96bd9d0b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 6 deletions

View File

@ -172,7 +172,7 @@ class BlueprintInputs:
processed = placeholder.substitute(
self.blueprint.data, self.inputs_with_default
)
combined = {**self.config_with_inputs, **processed}
combined = {**processed, **self.config_with_inputs}
# From config_with_inputs
combined.pop(CONF_USE_BLUEPRINT)
# From blueprint

View File

@ -133,15 +133,24 @@ def test_blueprint_validate():
)
def test_blueprint_inputs(blueprint_1):
def test_blueprint_inputs(blueprint_2):
"""Test blueprint inputs."""
inputs = models.BlueprintInputs(
blueprint_1,
{"use_blueprint": {"path": "bla", "input": {"test-placeholder": 1}}},
blueprint_2,
{
"use_blueprint": {
"path": "bla",
"input": {"test-placeholder": 1, "test-placeholder-default": 12},
},
"example-default": {"overridden": "via-config"},
},
)
inputs.validate()
assert inputs.inputs == {"test-placeholder": 1}
assert inputs.async_substitute() == {"example": 1}
assert inputs.inputs == {"test-placeholder": 1, "test-placeholder-default": 12}
assert inputs.async_substitute() == {
"example": 1,
"example-default": {"overridden": "via-config"},
}
def test_blueprint_inputs_validation(blueprint_1):