about summary refs log tree commit diff
path: root/nixos/tests/zigbee2mqtt.nix
blob: 9d6d03a4b9bbe3831bad17768fa97ed2959e1408 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import ./make-test-python.nix ({ pkgs, lib, ... }:
  {
    name = "zigbee2mqtt";
    nodes.machine = { pkgs, ... }:
      {
        systemd.services.dummy-serial = {
          wantedBy = [
            "multi-user.target"
          ];
          serviceConfig = {
            ExecStart = "${pkgs.socat}/bin/socat pty,link=/dev/ttyACM0,mode=666 pty,link=/dev/ttyACM1";
          };
        };

        services.zigbee2mqtt = {
          enable = true;
        };

        systemd.services.zigbee2mqtt.serviceConfig.DevicePolicy = lib.mkForce "auto";
      };

    testScript = ''
      machine.wait_for_unit("multi-user.target")
      machine.wait_until_fails("systemctl status zigbee2mqtt.service")
      machine.succeed(
          "journalctl -eu zigbee2mqtt | grep 'Failed to connect to the adapter'"
      )

      machine.log(machine.succeed("systemd-analyze security zigbee2mqtt.service"))
    '';
  }
)