Files
bancho.py/scripts/run-tests.sh
2025-04-04 21:32:15 +09:00

62 lines
1.1 KiB
Bash

#!/usr/bin/env bash
set -eo pipefail
export DB_HOST=mysql-test
export REDIS_HOST=redis-test
initDB() {
echo "Initializing database..."
if [[ "$DB_USE_SSL" == "true" ]]; then
EXTRA_PARAMS="--ssl"
else
EXTRA_PARAMS=""
fi
DB_QUERIES=(
"DROP DATABASE IF EXISTS $DB_NAME"
"CREATE DATABASE $DB_NAME"
)
for query in "${DB_QUERIES[@]}"
do
mysql \
--host=$DB_HOST \
--port=$DB_PORT \
--user=root \
--database=mysql \
--password=$DB_PASS \
$EXTRA_PARAMS \
--execute="$query"
done
redis-cli -h $REDIS_HOST -p $REDIS_PORT FLUSHALL
}
execDBStatement() {
if [[ "$DB_USE_SSL" == "true" ]]; then
EXTRA_PARAMS="--ssl"
else
EXTRA_PARAMS=""
fi
mysql \
--host=$DB_HOST \
--port=$DB_PORT \
--user=root \
--database=$DB_NAME \
--password=$DB_PASS \
$EXTRA_PARAMS \
--execute="$1"
}
initDB
execDBStatement "source /srv/root/migrations/base.sql"
# Run tests
echo "Running tests..."
coverage run -m pytest -vv -s tests/
coverage report --show-missing --fail-under=45
coverage html