Files
nixpkgs/nixos/tests/matter-server.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

51 lines
1.3 KiB
Nix

{ pkgs, lib, ... }:
let
chipVersion = pkgs.python311Packages.home-assistant-chip-core.version;
in
{
name = "matter-server";
meta.maintainers = with lib.maintainers; [ leonm1 ];
meta.timeout = 120; # Timeout after two minutes
nodes = {
machine =
{ config, ... }:
{
services.matter-server = {
enable = true;
port = 1234;
};
};
};
testScript = # python
''
@polling_condition
def matter_server_running():
machine.succeed("systemctl status matter-server")
start_all()
machine.wait_for_unit("matter-server.service", timeout=20)
machine.wait_for_open_port(1234, timeout=20)
with matter_server_running: # type: ignore[union-attr]
with subtest("Check websocket server initialized"):
output = machine.succeed("echo \"\" | ${pkgs.websocat}/bin/websocat ws://localhost:1234/ws")
machine.log(output)
assert '"fabric_id": 1' in output, (
"fabric_id not propagated to server"
)
with subtest("Check storage directory is created"):
machine.succeed("ls /var/lib/matter-server/chip.json")
with subtest("Check systemd hardening"):
_, output = machine.execute("systemd-analyze security matter-server.service | grep -v ''")
machine.log(output)
'';
}