mirror of https://github.com/home-assistant/core
33 lines
767 B
Python
33 lines
767 B
Python
"""Test inputs."""
|
|
|
|
import pytest
|
|
|
|
from homeassistant.util.yaml import (
|
|
Input,
|
|
UndefinedSubstitution,
|
|
extract_inputs,
|
|
substitute,
|
|
)
|
|
|
|
|
|
def test_extract_inputs() -> None:
|
|
"""Test extracting inputs from data."""
|
|
assert extract_inputs(Input("hello")) == {"hello"}
|
|
assert extract_inputs({"info": [1, Input("hello"), 2, Input("world")]}) == {
|
|
"hello",
|
|
"world",
|
|
}
|
|
|
|
|
|
def test_substitute() -> None:
|
|
"""Test we can substitute."""
|
|
assert substitute(Input("hello"), {"hello": 5}) == 5
|
|
|
|
with pytest.raises(UndefinedSubstitution):
|
|
substitute(Input("hello"), {})
|
|
|
|
assert substitute(
|
|
{"info": [1, Input("hello"), 2, Input("world")]},
|
|
{"hello": 5, "world": 10},
|
|
) == {"info": [1, 5, 2, 10]}
|