aboutsummaryrefslogtreecommitdiff
path: root/ci
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2025-06-08 01:41:41 +0200
committerDaniel Schadt <kingdread@gmx.de>2025-06-08 01:41:41 +0200
commit93b234e2f2be0e6efae0a7178e0f8c2bbe0fc8d5 (patch)
tree409c38bf43f7a741f224cb64a4c66410130511c9 /ci
parent77c58903358cfcca8983b8301d0c14bd2ba73f19 (diff)
downloadfietsboek-93b234e2f2be0e6efae0a7178e0f8c2bbe0fc8d5.tar.gz
fietsboek-93b234e2f2be0e6efae0a7178e0f8c2bbe0fc8d5.tar.bz2
fietsboek-93b234e2f2be0e6efae0a7178e0f8c2bbe0fc8d5.zip
run postgres tests in CI
Diffstat (limited to 'ci')
-rwxr-xr-xci/run_tests.sh49
1 files changed, 49 insertions, 0 deletions
diff --git a/ci/run_tests.sh b/ci/run_tests.sh
new file mode 100755
index 0000000..f2e289a
--- /dev/null
+++ b/ci/run_tests.sh
@@ -0,0 +1,49 @@
+#!/bin/bash
+set -euxo pipefail
+
+DB=$1
+
+PPATH="/usr/lib/postgresql/13/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
+
+exit
+
+setup_playwright
+setup_redis
+tox -e python -- --browser firefox