nixos/tests/home-assistant: Check dependencies arrive in the PYTHONPATH

Both extraPackages and derived packages from extraComponents should
be present in the units PYTHONPATH environment variable.
This commit is contained in:
Martin Weinelt 2023-02-20 17:01:02 +01:00
parent e01ccd6245
commit 9bf8744a73
No known key found for this signature in database
GPG key ID: 87C1E9888F856759

View file

@ -132,6 +132,12 @@ in {
return out
def get_unit_property(property) -> str:
exit, out = hass.execute(f"systemctl show --property={property} home-assistant.service")
assert exit == 0
return out
def wait_for_homeassistant(cursor):
hass.wait_until_succeeds(f"journalctl --after-cursor='{cursor}' -u home-assistant.service | grep -q 'Home Assistant initialized in'")
@ -150,6 +156,12 @@ in {
hass.wait_for_open_port(8123)
hass.succeed("curl --fail http://localhost:8123/lovelace")
with subtest("Check that optional dependencies are in the PYTHONPATH"):
env = get_unit_property("Environment")
python_path = env.split("PYTHONPATH=")[1].split()[0]
for package in ["colorama", "paho-mqtt", "psycopg2"]:
assert package in python_path, f"{package} not in PYTHONPATH"
with subtest("Check that declaratively configured components get setup"):
journal = get_journal_since(cursor)
for domain in ["emulated_hue", "wake_on_lan"]: