nixos/tests/postfix-tlspol: init

Simple test if the service comes up and the CLI can interact with it and
gives reasonable results.
This commit is contained in:
Martin Weinelt 2025-06-10 05:27:52 +02:00
parent 7c0f92f70b
commit 2288aab12d
No known key found for this signature in database
GPG Key ID: 87C1E9888F856759
3 changed files with 35 additions and 0 deletions

View File

@ -1103,6 +1103,7 @@ in
postfix-raise-smtpd-tls-security-level =
handleTest ./postfix-raise-smtpd-tls-security-level.nix
{ };
postfix-tlspol = runTest ./postfix-tlspol.nix;
postfixadmin = runTest ./postfixadmin.nix;
postgres-websockets = runTest ./postgres-websockets.nix;
postgresql = handleTest ./postgresql { };

View File

@ -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))
'';
}

View File

@ -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";