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: build:
docker build -t $(NAME) . docker build -t $(NAME) .
bash: bash: clean
docker rm -f $(NAME)_1 2>/dev/null && sleep 1 || true
docker run --rm -it --name $(NAME)_1 $(NAME) /bin/sh docker run --rm -it --name $(NAME)_1 $(NAME) /bin/sh
# More env vars # More env vars
# SESSION_SECRET_KEY # SESSION_SECRET_KEY
# BUGSNAG_KEY # BUGSNAG_KEY
run: run: clean
docker rm -f $(NAME)_1 $(NAME)_redis 2>/dev/null && sleep 1 || true
docker run -d --name $(NAME)_redis redis docker run -d --name $(NAME)_redis redis
docker run --rm --name $(NAME)_1 \ docker run -d --name $(NAME)_1 \
--link $(NAME)_redis:redis \ --link $(NAME)_redis:redis \
-e REDIS_URL=redis://redis:6379/0 \ -e REDIS_URL=redis://redis:6379/0 \
$(NAME) $(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