summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristofer Hallin <kristofer@sunet.se>2021-11-26 14:22:25 +0100
committerKristofer Hallin <kristofer@sunet.se>2021-11-26 14:22:25 +0100
commite1fe3943dcbc60da8cae733a6e66d385a35d5ffa (patch)
treed726599e520682caf7186fc8bd8281d1df99349e
parent0454f0353605886a0a3218c23b39060a05c6221d (diff)
Pass -c to quickstart_test.sh and we will start CouchDB for you as well.
-rwxr-xr-xsrc/db.py7
-rwxr-xr-xsrc/quickstart_test.sh24
2 files changed, 28 insertions, 3 deletions
diff --git a/src/db.py b/src/db.py
index 143d0a5..012dfac 100755
--- a/src/db.py
+++ b/src/db.py
@@ -32,8 +32,13 @@ class DictDB():
' COUCHDB_USER and COUCHDB_PASSWORD must be set.')
sys.exit(-1)
+ if 'COUCHDB_PORT' in os.environ:
+ couchdb_port = os.environ['COUCHDB_PORT']
+ else:
+ couchdb_port = 5984
+
self.server = couch.client.Server(
- f"http://{self.username}:{self.password}@{self.hostname}:5984/")
+ f"http://{self.username}:{self.password}@{self.hostname}:{couchdb_port}/")
try:
self.couchdb = self.server.database(self.database)
diff --git a/src/quickstart_test.sh b/src/quickstart_test.sh
index d9d2c0b..e81024f 100755
--- a/src/quickstart_test.sh
+++ b/src/quickstart_test.sh
@@ -8,10 +8,13 @@ export JWT_PUBKEY_PATH="`pwd`/test/unittest_cert/public.pem"
export JWT_TOKEN="eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJ0eXBlIjoiYWNjZXNzIiwiZG9tYWlucyI6WyJzdW5ldC5zZSJdfQ._emWyVw-6qer5u65SitS8bZJas7l8bw4almnI1TB7DBnzNsch8ctU4btlgBpfJ2jbrvXZTIl8jXIcykO4crUrQ"
virtualenv=no
-while getopts v flag
+couchdb=no
+
+while getopts "vc" flag
do
case "$flag" in
- v) virtualenv=yes
+ v) virtualenv=yes;;
+ c) couchdb=yes;;
esac
done
@@ -29,6 +32,19 @@ if [ $virtualenv == "yes" ]; then
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
@@ -41,3 +57,7 @@ EOF
pytest --capture=tee-sys
rm -r test/unittest_cert
+
+if [ $couchdb == "yes" ]; then
+ docker kill unittest_couchdb
+fi