summaryrefslogtreecommitdiff
path: root/src/quickstart_test.sh
blob: e81024fa648b9eecbfdbb15e663dfa4735ef0978 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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"
export JWT_TOKEN="eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJ0eXBlIjoiYWNjZXNzIiwiZG9tYWlucyI6WyJzdW5ldC5zZSJdfQ._emWyVw-6qer5u65SitS8bZJas7l8bw4almnI1TB7DBnzNsch8ctU4btlgBpfJ2jbrvXZTIl8jXIcykO4crUrQ"

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
    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
    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-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPW8bkkVIq4BX8eWwlUOUYbJhiGDv
K/6xY5T0BsvV6pbMoIUfgeThVOq5I3CmXxLt+qyPska6ol9fTN7woZLsCg==
-----END PUBLIC KEY-----
EOF

pytest --capture=tee-sys

rm -r test/unittest_cert

if [ $couchdb == "yes" ]; then
    docker kill unittest_couchdb
fi