diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index b5ac575ad25c..0a83c2e7c7d8 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1086,6 +1086,7 @@ in handleTest ./postfix-raise-smtpd-tls-security-level.nix { }; postfixadmin = handleTest ./postfixadmin.nix { }; + postfix-tlspol = runTest ./postfix-tlspol.nix; postgres-websockets = runTest ./postgres-websockets.nix; postgresql = handleTest ./postgresql { }; postgrest = runTest ./postgrest.nix; diff --git a/nixos/tests/postfix-tlspol.nix b/nixos/tests/postfix-tlspol.nix new file mode 100644 index 000000000000..0c76257f6a5a --- /dev/null +++ b/nixos/tests/postfix-tlspol.nix @@ -0,0 +1,29 @@ +{ + lib, + ... +}: +{ + name = "postfix-tlspol"; + + meta.maintainers = with lib.maintainers; [ hexa ]; + + nodes.machine = { + services.postfix-tlspol.enable = true; + }; + + enableOCR = true; + + testScript = '' + import json + + machine.wait_for_unit("postfix-tlspol.service") + + with subtest("Interact with the service"): + machine.succeed("postfix-tlspol -purge") + + response = json.loads((machine.succeed("postfix-tlspol -query localhost"))) + machine.log(json.dumps(response, indent=2)) + + ''; + +} diff --git a/pkgs/by-name/po/postfix-tlspol/package.nix b/pkgs/by-name/po/postfix-tlspol/package.nix index 7cb09d015092..6ae2c9e02398 100644 --- a/pkgs/by-name/po/postfix-tlspol/package.nix +++ b/pkgs/by-name/po/postfix-tlspol/package.nix @@ -2,6 +2,7 @@ lib, buildGoModule, fetchFromGitHub, + nixosTests, }: buildGoModule rec { @@ -22,6 +23,10 @@ buildGoModule rec { ldflags = [ "-X main.Version=${version}" ]; + passthru.tests = { + inherit (nixosTests) postfix-tlspol; + }; + meta = { description = "Lightweight MTA-STS + DANE/TLSA resolver and TLS policy server for Postfix, prioritizing DANE."; homepage = "https://github.com/Zuplu/postfix-tlspol";