diff --git a/.travis.yml b/.travis.yml index 3d271e53..537ce161 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,3 +4,31 @@ services: - docker script: - make all +env: + - ENABLE_POP3=0 + - ENABLE_POP3=1 + - ENABLE_FAIL2BAN=0 + - ENABLE_FAIL2BAN=1 + - ENABLE_MANAGESIEVE=0 + - ENABLE_MANAGESIEVE=1 + - SMTP_ONLY=0 + - SMTP_ONLY=1 + - SASL_PASSWD= + - SASL_PASSWD="bar.com username:password" + - ONE_DIR=0 + - ONE_DIR=1 + - SA_TAG= + - SA_TAG=1.0 + - SA_TAG2= + - SA_TAG2=2.0 + - SA_KILL= + - SA_KILL=3.0 + + + + +# SSL_TYPE +# +# DISABLE_AMAVIS=0 +# DISABLE_SPAMASSASSIN=1 +# DISABLE_CLAMAV=1 diff --git a/Makefile b/Makefile index c8bd2498..fdaaf348 100644 --- a/Makefile +++ b/Makefile @@ -20,51 +20,15 @@ run: -v "`pwd`/test/config":/tmp/docker-mailserver \ -v "`pwd`/test":/tmp/docker-mailserver-test \ -v "`pwd`/test/onedir":/var/mail-state \ - -e SA_TAG=1.0 \ - -e SA_TAG2=2.0 \ - -e SA_KILL=3.0 \ - -e SASL_PASSWD="external-domain.com username:password" \ - -e ENABLE_MANAGESIEVE=1 \ - -e ONE_DIR=1 \ - -h mail.my-domain.com -t $(NAME) - sleep 20 - docker run -d --name mail_pop3 \ - -v "`pwd`/test/config":/tmp/docker-mailserver \ - -v "`pwd`/test":/tmp/docker-mailserver-test \ - -v "`pwd`/test/config/letsencrypt":/etc/letsencrypt/live \ - -e ENABLE_POP3=1 \ - -e SSL_TYPE=letsencrypt \ - -h mail.my-domain.com -t $(NAME) - sleep 20 - docker run -d --name mail_smtponly \ - -v "`pwd`/test/config":/tmp/docker-mailserver \ - -v "`pwd`/test":/tmp/docker-mailserver-test \ - -e SMTP_ONLY=1 \ - -h mail.my-domain.com -t $(NAME) - sleep 20 - docker run -d --name mail_fail2ban \ - -v "`pwd`/test/config":/tmp/docker-mailserver \ - -v "`pwd`/test":/tmp/docker-mailserver-test \ - -e ENABLE_FAIL2BAN=1 \ - --cap-add=NET_ADMIN \ - -h mail.my-domain.com -t $(NAME) - sleep 20 - docker run -d --name mail_disabled_amavis \ - -v "`pwd`/test/config":/tmp/docker-mailserver \ - -v "`pwd`/test":/tmp/docker-mailserver-test \ - -e DISABLE_AMAVIS=1 \ - -h mail.my-domain.com -t $(NAME) - sleep 20 - docker run -d --name mail_disabled_spamassassin \ - -v "`pwd`/test/config":/tmp/docker-mailserver \ - -v "`pwd`/test":/tmp/docker-mailserver-test \ - -e DISABLE_SPAMASSASSIN=1 \ - -h mail.my-domain.com -t $(NAME) - sleep 20 - docker run -d --name mail_disabled_clamav \ - -v "`pwd`/test/config":/tmp/docker-mailserver \ - -v "`pwd`/test":/tmp/docker-mailserver-test \ - -e DISABLE_CLAMAV=1 \ + -e ENABLE_POP3=$ENABLE_POP3 \ + -e ENABLE_FAIL2BAN=$ENABLE_FAIL2BAN \ + -e ENABLE_MANAGESIEVE=$ENABLE_MANAGESIEVE \ + -e SMTP_ONLY=$SMTP_ONLY \ + -e SA_TAG=$SA_TAG \ + -e SA_TAG2=$SA_TAG2 \ + -e SA_KILL=$SA_KILL \ + -e SASL_PASSWD=$SASL_PASSWD \ + -e ONE_DIR=$ONE_DIR \ -h mail.my-domain.com -t $(NAME) # Wait for containers to fully start sleep 20 diff --git a/test/tests.bats b/test/tests.bats index f19a8542..e5fcd156 100644 --- a/test/tests.bats +++ b/test/tests.bats @@ -80,15 +80,21 @@ # pop # -@test "checking pop: server is ready" { - run docker exec mail_pop3 /bin/bash -c "nc -w 1 0.0.0.0 110 | grep '+OK'" - [ "$status" -eq 0 ] -} +if [ $ENABLE_POP3 = 1 ]; then -@test "checking pop: authentication works" { - run docker exec mail_pop3 /bin/sh -c "nc -w 1 0.0.0.0 110 < /tmp/docker-mailserver-test/auth/pop3-auth.txt" - [ "$status" -eq 0 ] -} + echo "Testing POP3" + + @test "checking pop: server is ready" { + run docker exec mail /bin/bash -c "nc -w 1 0.0.0.0 110 | grep '+OK'" + [ "$status" -eq 0 ] + } + + @test "checking pop: authentication works" { + run docker exec mail /bin/sh -c "nc -w 1 0.0.0.0 110 < /tmp/docker-mailserver-test/auth/pop3-auth.txt" + [ "$status" -eq 0 ] + } + +fi # # sasl