bunkerized-nginx/tests/linux-run.sh

89 lines
1.7 KiB
Bash
Executable file

#!/bin/bash
function cleanup() {
docker kill "$1"
}
image="$1"
name="$2"
do_cleanup="yes"
if [ "$3" == "no" ] ; then
do_cleanup="no"
fi
echo "[*] Run $image"
id="$(docker run --rm -d -it -p 80:80 -p 443:443 --name "$name" "$image")"
if [ $? -ne 0 ] ; then
echo "[!] docker run failed"
cleanup "$name"
exit 1
fi
echo "[*] Copy install.sh"
docker cp helpers/install.sh "$name:/tmp"
if [ $? -ne 0 ] ; then
echo "[!] docker cp failed"
cleanup "$name"
exit 2
fi
echo "[*] Copy bunkerized-nginx"
docker cp . "$name:/tmp/bunkerized-nginx-test"
if [ $? -ne 0 ] ; then
echo "[!] docker cp failed"
cleanup "$name"
exit 3
fi
echo "[*] Exec install.sh"
docker exec "$name" /bin/bash -c 'chmod +x /tmp/install.sh && /tmp/install.sh'
if [ $? -ne 0 ] ; then
echo "[!] docker exec failed"
cleanup "$name"
exit 4
fi
echo "[*] Exec nginx -V"
docker exec "$name" nginx -V
if [ $? -ne 0 ] ; then
echo "[!] docker exec failed"
cleanup "$name"
exit 5
fi
echo "[*] Copy variables.env"
docker cp "tests/variables.env" "$name:/opt/bunkerized-nginx"
if [ $? -ne 0 ] ; then
echo "[!] docker cp failed"
cleanup "$name"
exit 6
fi
echo "[*] Copy index.html"
docker cp "tests/index.html" "$name:/opt/bunkerized-nginx/www"
if [ $? -ne 0 ] ; then
echo "[!] docker cp failed"
cleanup "$name"
exit 7
fi
echo "[*] Exec bunkerized-nginx"
docker exec "$name" bunkerized-nginx
if [ $? -ne 0 ] ; then
echo "[!] docker exec failed"
cleanup "$name"
exit 8
fi
echo "[*] Exec curl"
res="$(curl -s -H "User-Agent: LegitOne" http://localhost/)"
if [ $? -ne 0 ] || [ "$res" != "ok" ] ; then
echo "[!] curl failed"
cleanup "$name"
exit 9
fi
if [ "$do_cleanup" == "yes" ] ; then
cleanup "$name"
fi