diff --git a/tests/clean-image.sh b/tests/clean-image.sh deleted file mode 100755 index fd7e536bc19ab439ac57674305e851de58f79e9f..0000000000000000000000000000000000000000 --- a/tests/clean-image.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -eux - -image=$1 -if [ "$image" == "wordpress" ] || [ "$image" == "known" ]; then - systemctl stop lamp@$image.test - sleep 11 -else - systemctl stop $image@$image.test -fi - -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 -systemctl stop *@$image.test.timer -systemctl stop *@$image.test -systemctl reset-failed -if [ "$image" == "wordpress" ] || [ "$image" == "known" ]; then - systemctl disable lamp@$image.test -else - systemctl disable $image@$image.test -fi -systemctl list-units | grep -c "$image\.test" | grep 0 diff --git a/tests/clean.sh b/tests/clean.sh new file mode 100755 index 0000000000000000000000000000000000000000..7311559154c549d6555dad5bfc553b56363a09d2 --- /dev/null +++ b/tests/clean.sh @@ -0,0 +1,13 @@ +#!/bin/bash -eux +source /etc/environment +image=$1 + +systemctl stop web@$image.test + +systemctl list-units | grep -c "$image\.test" | grep 0 + +rm -rf /data/runtime/domains/$image.test +rm -rf /data/domains/$image.test + +ssh $BACKUP_DESTINATION "rm -rf $image.test" + diff --git a/tests/deep-clean.sh b/tests/deep-clean.sh deleted file mode 100755 index be59469d302bc0d2de2267a4e3d8c78e33dd1b09..0000000000000000000000000000000000000000 --- a/tests/deep-clean.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -eux - -image=$1 -BACKUP_DESTINATION=`cat /data/BACKUP_DESTINATION` - -/data/indiehosters/tests/clean-image.sh $image - -ssh $BACKUP_DESTINATION "rm -rf $image.test" diff --git a/tests/finish.sh b/tests/finish.sh index 245b60dff67edc5bae9f5a2c00ddce4155cb5d0b..70f779f38c8dfdec9474d0ffe22df39ac3f52cc2 100755 --- a/tests/finish.sh +++ b/tests/finish.sh @@ -2,10 +2,9 @@ systemctl list-units | grep -c failed | grep 0 -applications=( static static-git wordpress known) +applications=( static wordpress known ) for application in "${applications[@]}" do - /data/indiehosters/tests/test-image.sh $application - /data/indiehosters/tests/deep-clean.sh $application + /data/indiehosters/tests/clean.sh $application done diff --git a/tests/force-clean.sh b/tests/force-clean.sh new file mode 100755 index 0000000000000000000000000000000000000000..f24f2ff8eda86803bdf0dcf64e554c2491279dd2 --- /dev/null +++ b/tests/force-clean.sh @@ -0,0 +1,19 @@ +#!/bin/bash -eux +source /etc/environment + +image=$1 +systemctl stop web@$image.test +if [ "$image" == "static" ]; then + systemctl disable $image@$image.test +else + systemctl disable lamp@$image.test +fi + +systemctl stop *@$image.test.timer +systemctl stop *@$image.test +systemctl reset-failed +rm -rf /data/runtime/domains/$image.test +rm -rf /data/domains/$image.test +ssh $BACKUP_DESTINATION "rm -rf $image.test" +systemctl list-units | grep "$image\.test" + diff --git a/tests/image.sh b/tests/image.sh deleted file mode 100755 index 35f9c4e6493e5f26947d5e697d4f0a6df899334f..0000000000000000000000000000000000000000 --- a/tests/image.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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 -echo "APPLICATION=$image" > /data/import/$image.test/.env -if [ "$image" == "wordpress" ] || [ "$image" == "known" ]; then - echo "VOLUME=$(cat /data/indiehosters/dockerfiles/services/$image/VOLUME)" >> /data/import/$image.test/.env - echo "EMAIL=test@test.org" >> /data/import/$image.test/.env -fi - -# start image from import -if [ "$image" == "wordpress" ] || [ "$image" == "known" ]; then - systemctl start lamp@$image.test -else - systemctl start $image@$image.test -fi - -# tests -/data/indiehosters/tests/test-image.sh $image - -# start image from backup -## make sure to backup first -systemctl start backup@$image.test -/data/indiehosters/tests/clean-image.sh $image -if [ "$image" == "wordpress" ] || [ "$image" == "known" ]; then - systemctl enable lamp@$image.test - systemctl start lamp@$image.test -else - systemctl enable $image@$image.test - systemctl start $image@$image.test -fi - -# tests -/data/indiehosters/tests/test-image.sh $image diff --git a/tests/start.sh b/tests/start.sh index c1bb4e26f96dbf3113b462a3a2b61229c96a1069..1a574411651abea5d569c75b8795875c7ffbbd43 100755 --- a/tests/start.sh +++ b/tests/start.sh @@ -1,8 +1,8 @@ #!/bin/bash -eux -applications=( static wordpress known) +applications=( static wordpress known ) for application in "${applications[@]}" do - /data/indiehosters/tests/image.sh $application + /data/indiehosters/tests/test.sh $application done diff --git a/tests/test-image.sh b/tests/test-image.sh deleted file mode 100755 index 40b378696d1e5b4309f416aac95fcdbd4c35a5d4..0000000000000000000000000000000000000000 --- a/tests/test-image.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/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.test` -curl -L $ip diff --git a/tests/test.sh b/tests/test.sh new file mode 100755 index 0000000000000000000000000000000000000000..a2bb0fe992ea0624aebd1ba63bb99692b6f206cc --- /dev/null +++ b/tests/test.sh @@ -0,0 +1,47 @@ +#!/bin/bash -eux + +cp /data/indiehosters/unit-files/* /etc/systemd/system && sudo systemctl daemon-reload + +image=$1 + +# prepare data +folder=/data/domains/$image.test +mkdir -p ${folder}/TLS +cp /data/indiehosters/scripts/unsecure-certs/example.dev.pem ${folder}/TLS/$image.test.pem + +echo "EMAIL=test@test.org" > ${folder}/.env + +case "$image" in +"static" ) + echo "APPLICATION=nginx" >> ${folder}/.env + echo 'DOCKER_ARGUMENTS="-v /data/domains/static.test/static/www-content:/app"' >> ${folder}/.env + ;; +"wordpress" ) + echo "APPLICATION=$image" >> ${folder}/.env + echo 'DOCKER_ARGUMENTS="--link mysql-wordpress.test:db \ + -v /data/domains/wordpress.test/wordpress/data:/app/wp-content \ + -v /data/domains/wordpress.test/wordpress/.htaccess:/app/.htaccess \ + --env-file /data/domains/wordpress.test/wordpress/.env"' >> ${folder}/.env + ;; +"known" ) + echo "APPLICATION=$image" >> ${folder}/.env + echo 'DOCKER_ARGUMENTS="--link mysql-known.test:db \ + -v /data/domains/known.test/known/data:/app/Uploads \ + -v /data/domains/known.test/known/.htaccess:/app/.htaccess \ + --env-file /data/domains/known.test/known/.env"' >> ${folder}/.env + ;; +esac + +if [ "$image" == "static" ]; then + systemctl start $image@$image.test + systemctl enable $image@$image.test +else + systemctl start lamp@$image.test + systemctl enable lamp@$image.test +fi +sleep 20 + +systemctl list-units | grep "$image\.test" | grep -c failed | grep 0 +ip=`docker inspect --format {{.NetworkSettings.IPAddress}} $image.test` +curl -L $ip +