Unverified Commit 2288aab1 authored by Martin Weinelt's avatar Martin Weinelt
Browse files

nixos/tests/postfix-tlspol: init

Simple test if the service comes up and the CLI can interact with it and
gives reasonable results.
parent 7c0f92f7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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 { };
+29 −0
Original line number Diff line number Diff line
{
  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))

  '';

}
+5 −0
Original line number Diff line number Diff line
@@ -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";