summaryrefslogtreecommitdiffstats
path: root/nixos/tests/technitium-dns-server.nix
blob: a1736eba79b2c5e99e00493f285ff755ecc72b9e (plain)
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
{ pkgs, lib, ... }:
{
  name = "technitium-dns-server";

  nodes = {
    machine =
      { pkgs, ... }:
      {
        systemd.services.technitium-dns-server.serviceConfig.Restart = lib.mkForce "no";

        services.technitium-dns-server = {
          enable = true;
          openFirewall = true;
        };
      };
  };

  testScript = ''
    import json

    start_all()
    machine.wait_for_unit("technitium-dns-server.service")
    machine.wait_for_open_port(53)
    curl_cmd = 'curl --fail-with-body -X GET "http://localhost:5380/api/user/login?user=admin&pass=admin"'
    output = json.loads(machine.wait_until_succeeds(curl_cmd, timeout=10))
    print(output)
    assert "ok" == output['status'], "status not ok"
  '';

  meta.maintainers = with lib.maintainers; [ fabianrig ];
}