diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index f0e816446511..5eb38c085824 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1018,7 +1018,7 @@ in paperless = handleTest ./paperless.nix { }; parsedmarc = handleTest ./parsedmarc { }; password-option-override-ordering = handleTest ./password-option-override-ordering.nix { }; - pdns-recursor = handleTest ./pdns-recursor.nix { }; + pdns-recursor = runTest ./pdns-recursor.nix; pds = handleTest ./pds.nix { }; peerflix = handleTest ./peerflix.nix { }; peering-manager = handleTest ./web-apps/peering-manager.nix { }; diff --git a/nixos/tests/pdns-recursor.nix b/nixos/tests/pdns-recursor.nix index 42a227ae8eb5..0c326d7db965 100644 --- a/nixos/tests/pdns-recursor.nix +++ b/nixos/tests/pdns-recursor.nix @@ -1,20 +1,25 @@ -import ./make-test-python.nix ( - { pkgs, ... }: - { - name = "powerdns-recursor"; +{ lib, pkgs, ... }: - nodes.server = - { ... }: - { - services.pdns-recursor.enable = true; - services.pdns-recursor.exportHosts = true; - networking.hosts."192.0.2.1" = [ "example.com" ]; - }; +{ + name = "powerdns-recursor"; + meta.maintainers = with lib.maintainers; [ rnhmjoj ]; - testScript = '' + nodes.server = { + services.pdns-recursor.enable = true; + services.pdns-recursor.exportHosts = true; + services.pdns-recursor.old-settings.dnssec-log-bogus = true; + networking.hosts."192.0.2.1" = [ "example.com" ]; + }; + + testScript = '' + with subtest("pdns-recursor is running"): server.wait_for_unit("pdns-recursor") server.wait_for_open_port(53) + + with subtest("can resolve names"): assert "192.0.2.1" in server.succeed("host example.com localhost") - ''; - } -) + + with subtest("old-settings have been merged in"): + server.succeed("${lib.getExe pkgs.yq-go} -e .dnssec.log_bogus /etc/pdns-recursor/recursor.yml") + ''; +}