summary refs log tree commit diff
path: root/nixos/tests/mailcatcher.nix
blob: 1bed13b23f664e0e136642a59f681be6efee07fb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import ./make-test.nix ({ lib, ... }:

{
  name = "mailcatcher";
  meta.maintainers = [ lib.maintainers.aanderse ];

  machine =
    { pkgs, ... }:
    {
      services.mailcatcher.enable = true;

      networking.defaultMailServer.directDelivery = true;
      networking.defaultMailServer.hostName = "localhost:1025";

      environment.systemPackages = [ pkgs.mailutils ];
    };

  testScript = ''
    startAll;

    $machine->waitForUnit('mailcatcher.service');
    $machine->waitForOpenPort('1025');
    $machine->succeed('echo "this is the body of the email" | mail -s "subject" root@example.org');
    $machine->succeed('curl http://localhost:1080/messages/1.json') =~ /this is the body of the email/ or die;
  '';
})