test(scanner): refactor E2E scaffolding and extract shared test harness

This commit is contained in:
neon
2026-03-30 02:11:51 -06:00
parent db30a45782
commit b5cc1ef370
19 changed files with 892 additions and 1489 deletions
+36
View File
@@ -0,0 +1,36 @@
#!/usr/bin/env bash
set -euo pipefail
# Usage: run-e2e-suite.sh <server-script-name> [extra vitest args...]
#
# Example:
# bash scripts/test/run-e2e-suite.sh test:e2e:scanner
# bash scripts/test/run-e2e-suite.sh test:e2e:scanner -- --testNamePattern="book-per-folder-disc-folder-flattening"
# bash scripts/test/run-e2e-suite.sh test:e2e:scanner:file-ops
if [[ $# -lt 1 ]]; then
echo "Usage: $0 <server-script-name> [extra vitest args...]" >&2
exit 1
fi
SUITE_SCRIPT="$1"
shift
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
cd "$ROOT_DIR"
E2E_DATABASE_URL="${E2E_DATABASE_URL:-${DATABASE_URL:-postgres://projectx:projectx@localhost:5432/projectx_e2e}}"
JUNIT_DIR="$ROOT_DIR/test-results/server"
mkdir -p "$JUNIT_DIR"
if [[ "${CI:-}" != "true" ]]; then
echo "Starting local PostgreSQL (dev compose)..."
pnpm run db:up
fi
echo "Resetting and migrating dedicated e2e database..."
E2E_DATABASE_URL="$E2E_DATABASE_URL" pnpm run db:prepare:e2e
echo "Running e2e suite: $SUITE_SCRIPT..."
DATABASE_URL="$E2E_DATABASE_URL" pnpm --filter server "$SUITE_SCRIPT" "$@"
-21
View File
@@ -1,21 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
cd "$ROOT_DIR"
E2E_DATABASE_URL="${E2E_DATABASE_URL:-${DATABASE_URL:-postgres://projectx:projectx@localhost:5432/projectx_e2e}}"
JUNIT_OUTPUT="${JUNIT_OUTPUT:-$ROOT_DIR/test-results/server/scanner-e2e-junit.xml}"
if [[ "${CI:-}" != "true" ]]; then
echo "Starting local PostgreSQL (dev compose)..."
pnpm run db:up
fi
echo "Resetting and migrating dedicated e2e database..."
E2E_DATABASE_URL="$E2E_DATABASE_URL" pnpm run db:prepare:e2e
mkdir -p "$(dirname "$JUNIT_OUTPUT")"
echo "Running scanner e2e suite..."
DATABASE_URL="$E2E_DATABASE_URL" JUNIT_OUTPUT="$JUNIT_OUTPUT" pnpm --filter server test:e2e:scanner
-21
View File
@@ -1,21 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
cd "$ROOT_DIR"
E2E_DATABASE_URL="${E2E_DATABASE_URL:-${DATABASE_URL:-postgres://projectx:projectx@localhost:5432/projectx_e2e}}"
JUNIT_OUTPUT="${JUNIT_OUTPUT:-$ROOT_DIR/test-results/server/scanner-file-ops-e2e-junit.xml}"
if [[ "${CI:-}" != "true" ]]; then
echo "Starting local PostgreSQL (dev compose)..."
pnpm run db:up
fi
echo "Resetting and migrating dedicated e2e database..."
E2E_DATABASE_URL="$E2E_DATABASE_URL" pnpm run db:prepare:e2e
mkdir -p "$(dirname "$JUNIT_OUTPUT")"
echo "Running scanner file operations e2e suite..."
DATABASE_URL="$E2E_DATABASE_URL" JUNIT_OUTPUT="$JUNIT_OUTPUT" pnpm --filter server test:e2e:scanner:file-ops