load "${REPOSITORY_ROOT}/test/test_helper/common" setup_file() { local PRIVATE_CONFIG PRIVATE_CONFIG=$(duplicate_config_for_container .) docker run -d --name mail_with_imap \ -v "${PRIVATE_CONFIG}":/tmp/docker-mailserver \ -v "$(pwd)/test/test-files":/tmp/docker-mailserver-test:ro \ -e ENABLE_SASLAUTHD=1 \ -e POSTMASTER_ADDRESS=postmaster@localhost.localdomain \ -e SASLAUTHD_MECH_OPTIONS=127.0.0.1 \ -e SASLAUTHD_MECHANISMS=rimap \ -e PERMIT_DOCKER=container \ -h mail.my-domain.com -t "${NAME}" wait_for_smtp_port_in_container mail_with_imap } teardown_file() { docker rm -f mail_with_imap } # # RIMAP # # dovecot @test "checking dovecot: ldap rimap connection and authentication works" { run docker exec mail_with_imap /bin/sh -c "nc -w 1 0.0.0.0 143 < /tmp/docker-mailserver-test/auth/imap-auth.txt" assert_success } # saslauthd @test "checking saslauthd: sasl rimap authentication works" { run docker exec mail_with_imap bash -c "testsaslauthd -u user1@localhost.localdomain -p mypassword" assert_success } @test "checking saslauthd: rimap smtp authentication" { run docker exec mail_with_imap /bin/sh -c "nc -w 5 0.0.0.0 25 < /tmp/docker-mailserver-test/auth/smtp-auth-login.txt | grep 'Authentication successful'" assert_success } # master account @test "checking dovecot: master account can login" { run docker exec mail_with_imap bash -c "testsaslauthd -u user1@localhost.localdomain*masterusername -p masterpassword" assert_success }