notes: 2.3.0 -> 2.3.1 (#352950)
[NixPkgs.git] / nixos / tests / mailpit.nix
blob887f700ae6843e31d8666911e101b7005756df2a
1 import ./make-test-python.nix (
2   { lib, ... }:
3   {
4     name = "mailpit";
5     meta.maintainers = lib.teams.flyingcircus.members;
7     nodes.machine =
8       { pkgs, ... }:
9       {
10         services.mailpit.instances.default = { };
12         environment.systemPackages = with pkgs; [ swaks ];
13       };
15     testScript = ''
16       start_all()
18       from json import loads
20       machine.wait_for_unit("mailpit-default.service")
21       machine.wait_for_open_port(1025)
22       machine.wait_for_open_port(8025)
23       machine.succeed(
24           'echo "this is the body of the email" | swaks --to root@example.org --body - --server localhost:1025'
25       )
27       received = loads(machine.succeed("curl http://localhost:8025/api/v1/messages"))
28       assert received['total'] == 1
29       message = received["messages"][0]
30       assert len(message['To']) == 1
31       assert message['To'][0]['Address'] == 'root@example.org'
32       assert "this is the body of the email" in message['Snippet']
33     '';
34   }