summaryrefslogtreecommitdiff
path: root/quickstart_test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'quickstart_test.sh')
-rwxr-xr-xquickstart_test.sh67
1 files changed, 67 insertions, 0 deletions
diff --git a/quickstart_test.sh b/quickstart_test.sh
new file mode 100755
index 0000000..9254271
--- /dev/null
+++ b/quickstart_test.sh
@@ -0,0 +1,67 @@
+# Usage: ./quickstart_test.sh [-v] [-c] [-- <args to pytest>]
+
+export COUCHDB_NAME=unittest
+export COUCHDB_HOSTNAME=localhost
+export COUCHDB_USER=test
+export COUCHDB_PASSWORD=test
+
+export DOCKER_JWT_PUBKEY_PATH="`pwd`/test/unittest_cert/"
+export JWT_PUBKEY_PATH="`pwd`/test/unittest_cert/public.pem"
+
+virtualenv=no
+couchdb=no
+
+while getopts ":vc" flag
+do
+ case "$flag" in
+ v) virtualenv=yes;;
+ c) couchdb=yes;;
+ esac
+done
+
+if [ -d test/unittest_cert ]; then
+ rm -r test/unittest_cert
+fi
+
+if [ $virtualenv == "yes" ]; then
+ shift
+ if [ -d test/unittest_venv ]; then
+ rm -r test/unittest_venv
+ fi
+
+ virtualenv test/unittest_venv
+ source test/unittest_venv/bin/activate
+ pip3 install -r ../requirements.txt
+fi
+
+if [ $couchdb == "yes" ]; then
+ shift
+ docker run -it -p 6123:5984 --rm -d --name unittest_couchdb -e COUCHDB_USER=$COUCHDB_USER -e COUCHDB_PASSWORD=$COUCHDB_PASSWORD couchdb
+
+ docker inspect unittest_couchdb > /dev/null
+
+ if (( $? != 0 )); then
+ echo "Failed to start CouchDB container."
+ exit
+ fi
+
+ export COUCHDB_PORT=6123
+fi
+
+mkdir test/unittest_cert
+
+cat <<EOF > test/unittest_cert/public.pem
+-----BEGIN PUBLIC KEY-----
+MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGHX8ipqVWtr49TXyX0f/L4GPhEpg
+N0Erzy7hHkXVrkgKpnHSRLYWgbW4rscLoJAJeEv7Be5iH0TM8l09w8Q3wQ==
+-----END PUBLIC KEY-----
+EOF
+
+shift
+pytest --capture=tee-sys "$@"
+
+rm -r test/unittest_cert
+
+if [ $couchdb == "yes" ]; then
+ docker kill unittest_couchdb
+fi