Testing Travis CI matrix

This commit is contained in:
Thomas VIAL 2016-08-14 22:44:26 +02:00
parent 4872d0e777
commit dedcb8f5d0
No known key found for this signature in database
GPG Key ID: 0394CEE552FAFEFC
3 changed files with 51 additions and 53 deletions

View File

@ -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

View File

@ -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

View File

@ -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