diff --git a/README.md b/README.md index f40a908c0467f63c91f5f195119c390bcd4072e9..d1676cdfd9730e6aa23c53a5e409c12aa20a49b9 100644 --- a/README.md +++ b/README.md @@ -53,5 +53,11 @@ vagrant up # Set up example.dev as above, and test https://example.dev in your browser vagrant ssh core-1 sudo su -/data/indiehosters/tests/main.sh +/data/indiehosters/tests/start.sh +exit +exit +vagrant reload --provision +vagrant ssh core-1 +sudo su +/data/indiehosters/tests/finish.sh ``` diff --git a/tests/clean-image.sh b/tests/clean-image.sh index 5f667a02e34ff00322fb82454c057b3bbe4a033d..8ce4cd8a544b3931b6ba04b205da2f627c615b32 100755 --- a/tests/clean-image.sh +++ b/tests/clean-image.sh @@ -2,7 +2,11 @@ image=$1 -/data/indiehosters/tests/runtime-clean-image.sh $image +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 rm -rf /data/domains/$image.test - -ssh core@backup.dev "rm -rf $image.test" +systemctl disable $image@$image.test diff --git a/tests/deep-clean.sh b/tests/deep-clean.sh new file mode 100755 index 0000000000000000000000000000000000000000..4da3fe055edcb69c681966d0627e0dd60bdcf9e3 --- /dev/null +++ b/tests/deep-clean.sh @@ -0,0 +1,7 @@ +#!/bin/bash -eux + +image=$1 + +/data/indiehosters/tests/clean-image.sh $image + +ssh core@backup.dev "rm -rf $image.test" diff --git a/tests/finish.sh b/tests/finish.sh new file mode 100755 index 0000000000000000000000000000000000000000..9e776d9f6f913b5227dab701a333df2993759159 --- /dev/null +++ b/tests/finish.sh @@ -0,0 +1,11 @@ +#!/bin/bash -eux + +systemctl list-units | grep failed + +applications=( static static-git wordpress known) + +for application in "${applications[@]}" +do + /data/indiehosters/tests/test-image.sh $application + /data/indiehosters/tests/deep-clean.sh $application +done diff --git a/tests/image.sh b/tests/image.sh index 0f9701ae55d5a46c824b95849645787183b64bad..f71ee41512166b9a081e05db8fb9f4198ecbdb4f 100755 --- a/tests/image.sh +++ b/tests/image.sh @@ -15,26 +15,15 @@ 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 +/data/indiehosters/tests/test-image.sh $image # 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 +## make sure to backup first +systemctl start backup@$image.test +/data/indiehosters/tests/clean-image.sh $image +systemctl enable $image@$image.test 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 +/data/indiehosters/tests/test-image.sh $image diff --git a/tests/main.sh b/tests/main.sh deleted file mode 100755 index ec4a3035442b7aa197b2a812419e118234a069d4..0000000000000000000000000000000000000000 --- a/tests/main.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/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 deleted file mode 100755 index 2766ebbedb9bfebada9fad882e0e92cf48588b3a..0000000000000000000000000000000000000000 --- a/tests/runtime-clean-image.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/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 diff --git a/tests/start.sh b/tests/start.sh new file mode 100755 index 0000000000000000000000000000000000000000..c5f9fe1dba50a3de35dadb38a77552badb2864fd --- /dev/null +++ b/tests/start.sh @@ -0,0 +1,8 @@ +#!/bin/bash -eux + +applications=( static static-git wordpress known) + +for application in "${applications[@]}" +do + /data/indiehosters/tests/image.sh $application +done diff --git a/tests/test-image.sh b/tests/test-image.sh new file mode 100755 index 0000000000000000000000000000000000000000..ee91f9b107db1e07cf62cebf48b4d416dde8975f --- /dev/null +++ b/tests/test-image.sh @@ -0,0 +1,13 @@ +#!/bin/bash -eux + +image=$1 + +if [ "$image" == "wordpress" ] || [ "$image" == "known" ]; then + sleep 70 +else + sleep 10 +fi + +systemctl list-units | grep "$image\.test" | grep -c failed | grep 0 +ip=`docker inspect --format {{.NetworkSettings.IPAddress}} $image-$image.test` +curl -L $ip