From 9d1901740e39efa9146a8a3d00fb5b6bd06f6558 Mon Sep 17 00:00:00 2001
From: pierreozoux <pierre@ozoux.net>
Date: Thu, 15 Jan 2015 17:59:12 +0100
Subject: [PATCH] Fix tests

---
 tests/clean-image.sh | 23 ----------------------
 tests/clean.sh       | 13 ++++++++++++
 tests/deep-clean.sh  |  8 --------
 tests/finish.sh      |  5 ++---
 tests/force-clean.sh | 19 ++++++++++++++++++
 tests/image.sh       | 39 ------------------------------------
 tests/start.sh       |  4 ++--
 tests/test-image.sh  | 13 ------------
 tests/test.sh        | 47 ++++++++++++++++++++++++++++++++++++++++++++
 9 files changed, 83 insertions(+), 88 deletions(-)
 delete mode 100755 tests/clean-image.sh
 create mode 100755 tests/clean.sh
 delete mode 100755 tests/deep-clean.sh
 create mode 100755 tests/force-clean.sh
 delete mode 100755 tests/image.sh
 delete mode 100755 tests/test-image.sh
 create mode 100755 tests/test.sh

diff --git a/tests/clean-image.sh b/tests/clean-image.sh
deleted file mode 100755
index fd7e536..0000000
--- 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 0000000..7311559
--- /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 be59469..0000000
--- 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 245b60d..70f779f 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 0000000..f24f2ff
--- /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 35f9c4e..0000000
--- 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 c1bb4e2..1a57441 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 40b3786..0000000
--- 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 0000000..a2bb0fe
--- /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
+
-- 
GitLab