diff options
Diffstat (limited to 'ci')
| -rwxr-xr-x | ci/run_tests.sh | 48 | 
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  | 
