aboutsummaryrefslogtreecommitdiff
path: root/ci/run_tests.sh
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2025-06-12 20:28:37 +0200
committerDaniel Schadt <kingdread@gmx.de>2025-06-12 20:28:37 +0200
commitabba548d84fa66bd7ac81683d3a70611cd6a8a3b (patch)
tree9343994c998cc84970a92510626b3a62e3fa46d9 /ci/run_tests.sh
parentcf25779d218a4ace062f3c0549c0f2901a0c2d6a (diff)
parenta52781d2e039ccf9f984e06a4ff3aa5e02caff8b (diff)
downloadfietsboek-abba548d84fa66bd7ac81683d3a70611cd6a8a3b.tar.gz
fietsboek-abba548d84fa66bd7ac81683d3a70611cd6a8a3b.tar.bz2
fietsboek-abba548d84fa66bd7ac81683d3a70611cd6a8a3b.zip
Merge branch 'postgres-support'HEADmaster
Diffstat (limited to 'ci/run_tests.sh')
-rwxr-xr-xci/run_tests.sh48
1 files changed, 48 insertions, 0 deletions
diff --git a/ci/run_tests.sh b/ci/run_tests.sh
new file mode 100755
index 0000000..200f794
--- /dev/null
+++ b/ci/run_tests.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+set -euxo pipefail
+
+DB=$1
+
+PPATH="/usr/lib/postgresql/15/bin/"
+
+setup_postgres() {
+ apt update
+ apt install -y postgresql postgresql-client sudo
+ echo -n "postgres" >/tmp/pw
+ mkdir /tmp/postgres-db
+ chown postgres:postgres /tmp/postgres-db
+ sudo -u postgres "$PPATH/initdb" --pwfile /tmp/pw -U postgres /tmp/postgres-db
+ sudo -u postgres "$PPATH/postgres" -D /tmp/postgres-db >/dev/null 2>&1 &
+}
+
+setup_redis() {
+ apt install -y redis-server
+ redis-server >/dev/null 2>&1 &
+}
+
+setup_playwright() {
+ pip install poetry
+ pip install "playwright=="$(poetry show playwright | grep version | cut -f 2 -d ":" | tr -d " ")
+ playwright install firefox
+ playwright install-deps
+}
+
+case "$DB" in
+ "sqlite")
+ ;;
+
+ "postgres")
+ setup_postgres
+ sed -i 's|^sqlalchemy.url = .*$|sqlalchemy.url = postgresql://postgres:postgres@localhost/postgres|' testing.ini
+ ;;
+
+ *)
+ echo "Unknown database: $DB"
+ exit 1
+ ;;
+esac
+
+pip install tox
+setup_playwright
+setup_redis
+tox -e python -- --browser firefox