From d764d89ea953b474e7d1d4789f5b1906d9f69da6 Mon Sep 17 00:00:00 2001 From: Germain Masse Date: Sun, 3 Nov 2019 09:13:21 +0000 Subject: [PATCH] Test for DOVECOT_MAILBOX_FORMAT --- test/mail_with_mdbox.bats | 45 +++++++++++++++++++++++++++++++++++++++ test/mail_with_sdbox.bats | 45 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 test/mail_with_mdbox.bats create mode 100644 test/mail_with_sdbox.bats diff --git a/test/mail_with_mdbox.bats b/test/mail_with_mdbox.bats new file mode 100644 index 00000000..535aa801 --- /dev/null +++ b/test/mail_with_mdbox.bats @@ -0,0 +1,45 @@ +load 'test_helper/common' + +setup() { + run_setup_file_if_necessary +} + +teardown() { + run_teardown_file_if_necessary +} + +setup_file() { + docker run -d --name mail_with_mdbox_format \ + -v "`pwd`/test/config":/tmp/docker-mailserver \ + -v "`pwd`/test/test-files":/tmp/docker-mailserver-test:ro \ + -e SASL_PASSWD="external-domain.com username:password" \ + -e ENABLE_CLAMAV=0 \ + -e ENABLE_SPAMASSASSIN=0 \ + -e DOVECOT_MAILBOX_FORMAT=mdbox \ + --cap-add=SYS_PTRACE \ + -e PERMIT_DOCKER=host \ + -e DMS_DEBUG=0 \ + -h mail.my-domain.com -t ${NAME} + wait_for_smtp_port_in_container mail_with_mdbox_format +} + +teardown_file() { + docker rm -f mail_with_mdbox_format +} + +@test "first" { + skip 'only used to call setup_file from setup' +} + + +@test "checking dovecot mailbox format: mdbox file created" { + run docker exec mail_with_mdbox_format /bin/sh -c "nc 0.0.0.0 25 < /tmp/docker-mailserver-test/email-templates/existing-user1.txt" + assert_success + + repeat_until_success_or_timeout 30 docker exec mail_with_mdbox_format /bin/sh -c '[ $(ls /var/mail/localhost.localdomain/user1/storage/m.1 | wc -l) -eq 1 ]' +} + + +@test "last" { + skip 'only used to call teardown_file from teardown' +} diff --git a/test/mail_with_sdbox.bats b/test/mail_with_sdbox.bats new file mode 100644 index 00000000..2f3d2202 --- /dev/null +++ b/test/mail_with_sdbox.bats @@ -0,0 +1,45 @@ +load 'test_helper/common' + +setup() { + run_setup_file_if_necessary +} + +teardown() { + run_teardown_file_if_necessary +} + +setup_file() { + docker run -d --name mail_with_sdbox_format \ + -v "`pwd`/test/config":/tmp/docker-mailserver \ + -v "`pwd`/test/test-files":/tmp/docker-mailserver-test:ro \ + -e SASL_PASSWD="external-domain.com username:password" \ + -e ENABLE_CLAMAV=0 \ + -e ENABLE_SPAMASSASSIN=0 \ + -e DOVECOT_MAILBOX_FORMAT=sdbox \ + --cap-add=SYS_PTRACE \ + -e PERMIT_DOCKER=host \ + -e DMS_DEBUG=0 \ + -h mail.my-domain.com -t ${NAME} + wait_for_smtp_port_in_container mail_with_sdbox_format +} + +teardown_file() { + docker rm -f mail_with_sdbox_format +} + +@test "first" { + skip 'only used to call setup_file from setup' +} + + +@test "checking dovecot mailbox format: sdbox file created" { + run docker exec mail_with_sdbox_format /bin/sh -c "nc 0.0.0.0 25 < /tmp/docker-mailserver-test/email-templates/existing-user1.txt" + assert_success + + repeat_until_success_or_timeout 30 docker exec mail_with_sdbox_format /bin/sh -c '[ $(ls /var/mail/localhost.localdomain/user1/mailboxes/INBOX/dbox-Mails/u.1 | wc -l) -eq 1 ]' +} + + +@test "last" { + skip 'only used to call teardown_file from teardown' +}