diff --git a/dist/sql/test_data_sqlite.sql b/dist/sql/test_data_sqlite.sql new file mode 100644 index 0000000..f458a32 --- /dev/null +++ b/dist/sql/test_data_sqlite.sql @@ -0,0 +1,7 @@ + +-- See users in ../authsources.php +INSERT INTO + users (uname, groups) +VALUES + ('admin', 1 | 2 | 4), + ('user', 0); diff --git a/scripts/reset.sh b/scripts/reset.sh index f14a440..d692573 100755 --- a/scripts/reset.sh +++ b/scripts/reset.sh @@ -18,3 +18,4 @@ declare -r PROJECT_ROOT="$(git rev-parse --show-toplevel)" "$PROJECT_ROOT/scripts/clean.sh" "$PROJECT_ROOT/scripts/setup.sh" +"$PROJECT_ROOT/scripts/seed-test-data.sh" diff --git a/scripts/seed-test-data.sh b/scripts/seed-test-data.sh new file mode 100755 index 0000000..0e75990 --- /dev/null +++ b/scripts/seed-test-data.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +set -euo pipefail + +REQUIRED_COMMANDS=( + sqlite3 +) +MISSING_COMMANDS=false +for cmd in "${REQUIRED_COMMANDS[@]}"; do + if ! command -v "$cmd" &> /dev/null; then + echo "$cmd could not be found" >&2 + MISSING_COMMANDS=true + fi +done +if [ "$MISSING_COMMANDS" = true ]; then + exit 1 +fi + +declare -r PROJECT_ROOT="$(git rev-parse --show-toplevel)" + +if [ ! -f "$PROJECT_ROOT/pvv.sqlite" ] ; then + echo "Database file $PROJECT_ROOT/pvv.sqlite does not exist. Please run setup.sh first." >&2 + exit 1 +fi + +sqlite3 "$PROJECT_ROOT/pvv.sqlite" < "$PROJECT_ROOT/dist/sql/test_data_sqlite.sql"