From 63f4ba7be27c520889d0c2e131151569c6d8b2b0 Mon Sep 17 00:00:00 2001 From: crccheck Date: Wed, 24 Jun 2015 01:27:15 -0500 Subject: [PATCH] add a smoketest --- Makefile | 11 ++++++----- smoketest.sh | 30 ++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 5 deletions(-) create mode 100755 smoketest.sh diff --git a/Makefile b/Makefile index 9e0b085..8f039dd 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/smoketest.sh b/smoketest.sh new file mode 100755 index 0000000..2231474 --- /dev/null +++ b/smoketest.sh @@ -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