diff --git a/tests/clean-image.sh b/tests/clean-image.sh new file mode 100755 index 0000000000000000000000000000000000000000..5f667a02e34ff00322fb82454c057b3bbe4a033d --- /dev/null +++ b/tests/clean-image.sh @@ -0,0 +1,8 @@ +#!/bin/bash -eux + +image=$1 + +/data/indiehosters/tests/runtime-clean-image.sh $image +rm -rf /data/domains/$image.test + +ssh core@backup.dev "rm -rf $image.test" diff --git a/tests/image.sh b/tests/image.sh new file mode 100755 index 0000000000000000000000000000000000000000..0f9701ae55d5a46c824b95849645787183b64bad --- /dev/null +++ b/tests/image.sh @@ -0,0 +1,40 @@ +#!/bin/bash -eux + +cp /data/indiehosters/unit-files/* /etc/systemd/system && sudo systemctl daemon-reload + +image=$1 + +# prepare data +mkdir -p /data/import/$image.test/TLS +cp /data/indiehosters/scripts/unsecure-certs/example.dev.pem /data/import/$image.test/TLS/$image.test.pem +if [ "$image" == "static-git" ]; then + mkdir -p /data/import/$image.test/static-git + echo "https://github.com/indiehosters/website.git" > /data/import/$image.test/static-git/GITURL +fi + +# start image from import +systemctl start $image@$image.test + +if [ "$image" == "wordpress" ]; then + sleep 40 +else + sleep 10 +fi + +# tests +systemctl list-units | grep "$image\.test" | grep -c failed | grep 0 +ip=`docker inspect --format {{.NetworkSettings.IPAddress}} $image-$image.test` +curl -L $ip + +# start image from backup +/data/indiehosters/tests/runtime-clean-image.sh $image +if [ "$image" == "wordpress" ]; then + echo should fail until implementation of mysql backup importer +fi +systemctl start $image@$image.test +sleep 10 + +# tests +systemctl list-units | grep "$image\.test" | grep -c failed | grep 0 +ip=`docker inspect --format {{.NetworkSettings.IPAddress}} $image-$image.test` +curl $ip diff --git a/tests/main.sh b/tests/main.sh new file mode 100755 index 0000000000000000000000000000000000000000..ec4a3035442b7aa197b2a812419e118234a069d4 --- /dev/null +++ b/tests/main.sh @@ -0,0 +1,19 @@ +#!/bin/bash -eux + +# testing static +/data/indiehosters/tests/image.sh static + +# clean static tests +/data/indiehosters/tests/clean-image.sh static + +# testing static-git +/data/indiehosters/tests/image.sh static-git + +# clean static tests +/data/indiehosters/tests/clean-image.sh static-git + +# testing wordpress +/data/indiehosters/tests/image.sh wordpress + +# clean static tests +/data/indiehosters/tests/clean-image.sh wordpress diff --git a/tests/runtime-clean-image.sh b/tests/runtime-clean-image.sh new file mode 100755 index 0000000000000000000000000000000000000000..2766ebbedb9bfebada9fad882e0e92cf48588b3a --- /dev/null +++ b/tests/runtime-clean-image.sh @@ -0,0 +1,10 @@ +#!/bin/bash -eux + +image=$1 + +systemctl stop *@$image.test.timer +systemctl stop *@$image.test +systemctl reset-failed +systemctl list-units | grep -c "$image\.test" | grep 0 +rm -rf /data/import/$image.test +rm -rf /data/runtime/domains/$image.test