0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-13 13:40:28 +03:00

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.
This commit is contained in:
RTUnreal 2024-08-28 15:28:55 +02:00
parent 5e83e20cb7
commit c6053a54bb

View file

@ -1,11 +1,9 @@
import ./make-test-python.nix ({ lib, ... }: { import ./make-test-python.nix ({lib, ...}: {
name = "mailhog"; 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; services.mailhog.enable = true;
environment.systemPackages = with pkgs; [ swaks ];
}; };
testScript = '' testScript = ''
@ -14,11 +12,11 @@ import ./make-test-python.nix ({ lib, ... }: {
machine.wait_for_unit("mailhog.service") machine.wait_for_unit("mailhog.service")
machine.wait_for_open_port(1025) machine.wait_for_open_port(1025)
machine.wait_for_open_port(8025) machine.wait_for_open_port(8025)
machine.succeed( # Test sendmail wrapper (this uses smtp, which tests the connection)
'echo "this is the body of the email" | swaks --to root@example.org --body - --server localhost:1025' 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(
assert "this is the body of the email" in machine.succeed(
"curl --fail http://localhost:8025/api/v2/messages" "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"])
''; '';
}) })