2015-10-18 19:02:46 +00:00
|
|
|
NAME = tvial/docker-mailserver
|
2015-10-18 19:38:22 +00:00
|
|
|
VERSION = $(TRAVIS_BUILD_ID)
|
2015-10-18 19:02:46 +00:00
|
|
|
|
|
|
|
all: build run prepare fixtures tests
|
|
|
|
|
|
|
|
build:
|
|
|
|
docker build --no-cache -t $(NAME):$(VERSION) .
|
|
|
|
|
|
|
|
run:
|
|
|
|
# Copy test files
|
|
|
|
cp test/accounts.cf postfix/
|
|
|
|
cp test/virtual postfix/
|
|
|
|
# Run container
|
|
|
|
docker run -d --name mail -v "`pwd`/postfix":/tmp/postfix -v "`pwd`/spamassassin":/tmp/spamassassin -h mail.my-domain.com -t $(NAME):$(VERSION)
|
|
|
|
sleep 15
|
|
|
|
|
|
|
|
prepare:
|
|
|
|
# Reinitialize logs
|
|
|
|
docker exec mail /bin/sh -c 'echo "" > /var/log/mail.log'
|
|
|
|
|
|
|
|
fixtures:
|
|
|
|
docker exec mail /bin/sh -c 'echo "This is a test mail" | mail -s "TEST-001" user@localhost.localdomain'
|
|
|
|
docker exec mail /bin/sh -c 'echo "This is a test mail" | mail -s "TEST-002" nouser@localhost.localdomain'
|
|
|
|
docker exec mail /bin/sh -c 'echo "This is a test mail" | mail -s "TEST-003" alias1@localhost.localdomain'
|
|
|
|
docker exec mail /bin/sh -c 'echo "This is a test mail" | mail -s "TEST-004" alias2@localhost.localdomain'
|
|
|
|
|
|
|
|
tests:
|
|
|
|
# Start tests
|
|
|
|
./test/test.sh
|