From f2f50580f469db0e2bc6ceb5ef34f7657eb6c341 Mon Sep 17 00:00:00 2001
From: pierreozoux <pierre@ozoux.net>
Date: Wed, 3 Dec 2014 17:10:44 +0000
Subject: [PATCH] Adds tests after reboot / big refactor

---
 README.md                    |  8 +++++++-
 tests/clean-image.sh         | 10 +++++++---
 tests/deep-clean.sh          |  7 +++++++
 tests/finish.sh              | 11 +++++++++++
 tests/image.sh               | 23 ++++++-----------------
 tests/main.sh                | 19 -------------------
 tests/runtime-clean-image.sh | 10 ----------
 tests/start.sh               |  8 ++++++++
 tests/test-image.sh          | 13 +++++++++++++
 9 files changed, 59 insertions(+), 50 deletions(-)
 create mode 100755 tests/deep-clean.sh
 create mode 100755 tests/finish.sh
 delete mode 100755 tests/main.sh
 delete mode 100755 tests/runtime-clean-image.sh
 create mode 100755 tests/start.sh
 create mode 100755 tests/test-image.sh

diff --git a/README.md b/README.md
index f40a908..d1676cd 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 5f667a0..8ce4cd8 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 0000000..4da3fe0
--- /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 0000000..9e776d9
--- /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 0f9701a..f71ee41 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 ec4a303..0000000
--- 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 2766ebb..0000000
--- 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 0000000..c5f9fe1
--- /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 0000000..ee91f9b
--- /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
-- 
GitLab