From 9bf8744a732fad91482a66c28c5462a683be727c Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 20 Feb 2023 17:01:02 +0100 Subject: 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. --- nixos/tests/home-assistant.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'nixos/tests') diff --git a/nixos/tests/home-assistant.nix b/nixos/tests/home-assistant.nix index 0c2176c261cfb..aec4784e9c5ff 100644 --- a/nixos/tests/home-assistant.nix +++ b/nixos/tests/home-assistant.nix @@ -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"]: -- cgit 1.4.1