diff options
author | Léo Gaspard <leo@gaspard.io> | 2018-04-12 01:35:14 +0200 |
---|---|---|
committer | Léo Gaspard <leo@gaspard.io> | 2018-04-12 01:35:14 +0200 |
commit | 4fddb8b9c3ee137f45ce3d3f79d5fb66c80843a0 (patch) | |
tree | f702f8ec3ff8cf62299d0784eed6436f9384353e /nixos/tests/dovecot.nix | |
parent | ea145b68a019f6fff89e772e9a6c5f0584acc02c (diff) |
dovecot module: test dovecot's LDA
That's apparently not enough to catch the bug I ran into with the update
to 2.3.1, but at least it will check the LDA appears to work.
Diffstat (limited to 'nixos/tests/dovecot.nix')
-rw-r--r-- | nixos/tests/dovecot.nix | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/nixos/tests/dovecot.nix b/nixos/tests/dovecot.nix index 3814855ed8e7..156079d1d585 100644 --- a/nixos/tests/dovecot.nix +++ b/nixos/tests/dovecot.nix @@ -18,6 +18,18 @@ import ./make-test.nix { MAIL ''; + sendTestMailViaDeliveryAgent = pkgs.writeScriptBin "send-lda" '' + #!${pkgs.stdenv.shell} + + exec ${pkgs.dovecot}/libexec/dovecot/deliver -d bob <<MAIL + From: root@localhost + To: bob@localhost + Subject: Something else... + + I'm running short of ideas! + MAIL + ''; + testImap = pkgs.writeScriptBin "test-imap" '' #!${pkgs.python3.interpreter} import imaplib @@ -39,24 +51,25 @@ import ./make-test.nix { pop = poplib.POP3('localhost') try: - pop.user('alice') + pop.user('bob') pop.pass_('foobar') assert len(pop.list()[1]) == 1 status, fullmail, size = pop.retr(1) assert status.startswith(b'+OK ') body = b"".join(fullmail[fullmail.index(b""):]).strip() - assert body == b'Hello world!' + assert body == b"I'm running short of ideas!" finally: pop.quit() ''; - in [ sendTestMail testImap testPop ]; + in [ sendTestMail sendTestMailViaDeliveryAgent testImap testPop ]; }; testScript = '' $machine->waitForUnit('postfix.service'); $machine->waitForUnit('dovecot2.service'); $machine->succeed('send-testmail'); + $machine->succeed('send-lda'); $machine->waitUntilFails('[ "$(postqueue -p)" != "Mail queue is empty" ]'); $machine->succeed('test-imap'); $machine->succeed('test-pop'); |