diff options
Diffstat (limited to 'quickstart_test.sh')
-rwxr-xr-x | quickstart_test.sh | 67 |
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 |