add a smoketest

This commit is contained in:
crccheck 2015-06-24 01:27:15 -05:00
parent ca503134ae
commit 63f4ba7be2
2 changed files with 36 additions and 5 deletions

View File

@ -3,17 +3,18 @@ NAME = requestbin
build:
docker build -t $(NAME) .
bash:
docker rm -f $(NAME)_1 2>/dev/null && sleep 1 || true
bash: clean
docker run --rm -it --name $(NAME)_1 $(NAME) /bin/sh
# More env vars
# SESSION_SECRET_KEY
# BUGSNAG_KEY
run:
docker rm -f $(NAME)_1 $(NAME)_redis 2>/dev/null && sleep 1 || true
run: clean
docker run -d --name $(NAME)_redis redis
docker run --rm --name $(NAME)_1 \
docker run -d --name $(NAME)_1 \
--link $(NAME)_redis:redis \
-e REDIS_URL=redis://redis:6379/0 \
$(NAME)
clean:
docker rm -f $(NAME)_1 $(NAME)_redis 2>/dev/null && sleep 1 || true

30
smoketest.sh Executable file
View File

@ -0,0 +1,30 @@
#!/usr/bin/env bash
container=requestbin_1
set -e
function lookfor {
grep --silent "$@" && echo " . . . PASS" || echo " . . . FAIL"
}
make run > /dev/null
IP=$(docker inspect --format '{{.NetworkSettings.IPAddress}}' ${container})
# make sure we can start a docker container
if [ -z $IP ]; then
echo "Docker container ${container} not currently running"
exit 1
fi
sleep 1
echo -n "Homepage should load"
\curl --silent --head $IP | lookfor "HTTP/1.1 200 OK"
echo -n "CSS styles should load"
\curl --silent --head $IP/static/css/bootstrap.css | lookfor "Content-Type: text/css"
echo -n "Static files should load"
\curl --silent --head $IP/static/img/logo-2x.png | lookfor "Content-Type: image/png"
make clean > /dev/null