From c6053a54bb517861ed8eabf45fa28d88f3297953 Mon Sep 17 00:00:00 2001 From: RTUnreal Date: Wed, 28 Aug 2024 15:28:55 +0200 Subject: [PATCH] nixos/tests/mailhog: modify test to use system sendmail. change the test to test the `services.mailhog.setSendmail` option. This will also test the STMP connection as well. --- nixos/tests/mailhog.nix | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/nixos/tests/mailhog.nix b/nixos/tests/mailhog.nix index e3c2da37a3c8..7d9f4553f869 100644 --- a/nixos/tests/mailhog.nix +++ b/nixos/tests/mailhog.nix @@ -1,11 +1,9 @@ -import ./make-test-python.nix ({ lib, ... }: { +import ./make-test-python.nix ({lib, ...}: { name = "mailhog"; - meta.maintainers = with lib.maintainers; [ jojosch ]; + meta.maintainers = with lib.maintainers; [jojosch RTUnreal]; - nodes.machine = { pkgs, ... }: { + nodes.machine = {pkgs, ...}: { services.mailhog.enable = true; - - environment.systemPackages = with pkgs; [ swaks ]; }; testScript = '' @@ -14,11 +12,11 @@ import ./make-test-python.nix ({ lib, ... }: { machine.wait_for_unit("mailhog.service") machine.wait_for_open_port(1025) machine.wait_for_open_port(8025) - machine.succeed( - 'echo "this is the body of the email" | swaks --to root@example.org --body - --server localhost:1025' - ) - assert "this is the body of the email" in machine.succeed( + # Test sendmail wrapper (this uses smtp, which tests the connection) + machine.succeed('printf "To: root@example.com\r\n\r\nthis is the body of the email" | sendmail -t -i -f sender@example.com') + res = machine.succeed( "curl --fail http://localhost:8025/api/v2/messages" ) + assert all(msg in res for msg in ["this is the body of the email", "sender@example.com", "root@example.com"]) ''; })