From 11cf094cb52efd78f3d85eca67566a64f11fe5b1 Mon Sep 17 00:00:00 2001
From: pierreozoux <pierre@ozoux.net>
Date: Fri, 7 Nov 2014 15:33:54 +0000
Subject: [PATCH] Adds tests \o/

---
 tests/clean-image.sh         |  8 ++++++++
 tests/image.sh               | 40 ++++++++++++++++++++++++++++++++++++
 tests/main.sh                | 19 +++++++++++++++++
 tests/runtime-clean-image.sh | 10 +++++++++
 4 files changed, 77 insertions(+)
 create mode 100755 tests/clean-image.sh
 create mode 100755 tests/image.sh
 create mode 100755 tests/main.sh
 create mode 100755 tests/runtime-clean-image.sh

diff --git a/tests/clean-image.sh b/tests/clean-image.sh
new file mode 100755
index 0000000..5f667a0
--- /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 0000000..0f9701a
--- /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 0000000..ec4a303
--- /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 0000000..2766ebb
--- /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
-- 
GitLab