diff --git a/docs/ENGINEERING_HARNESS.md b/docs/ENGINEERING_HARNESS.md index bf516b8..434dcef 100644 --- a/docs/ENGINEERING_HARNESS.md +++ b/docs/ENGINEERING_HARNESS.md @@ -66,6 +66,10 @@ dotnet watch run --project .\src\TaxBaik.Web\TaxBaik.Web.csproj - 로그인 검증: - 마이그레이션으로 시드된 실제 관리자 계정 `admin` - 로그인 실패 시 DB 연결 오류와 자격 증명 오류를 구분해서 본다 +- 로컬 DB 시드 확인: +```bash +./scripts/validate_admin_seed.sh "$DB_CONNECTION_STRING" +``` ### Production diff --git a/scripts/run_local_tests.py b/scripts/run_local_tests.py index 6cfa686..bdce319 100644 --- a/scripts/run_local_tests.py +++ b/scripts/run_local_tests.py @@ -115,8 +115,8 @@ def main(): test_env["E2E_BASE_URL"] = base_url test_env["EVIDENCE_ROOT"] = "evidence" # Set default test credentials - test_env["E2E_ADMIN_USERNAME"] = "admin" - test_env["E2E_ADMIN_PASSWORD"] = "Admin123!@#456" + test_env["E2E_ADMIN_USERNAME"] = os.environ.get("E2E_ADMIN_USERNAME", "admin") + test_env["E2E_ADMIN_PASSWORD"] = os.environ.get("E2E_ADMIN_PASSWORD", "") # Run playwright test command # Local 1차 검증은 Desktop Chrome만 대상으로 잡아 불필요한 브라우저 설치 의존을 줄인다. diff --git a/scripts/validate_admin_seed.sh b/scripts/validate_admin_seed.sh new file mode 100644 index 0000000..7f7e4dc --- /dev/null +++ b/scripts/validate_admin_seed.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +set -euo pipefail + +DB_CONNECTION_STRING="${1:-}" + +if [ -z "$DB_CONNECTION_STRING" ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +if ! command -v psql >/dev/null 2>&1; then + echo "psql is required." >&2 + exit 1 +fi + +echo "Checking admin seed..." +psql "$DB_CONNECTION_STRING" -Atc "SELECT username FROM admin_users WHERE username = 'admin';" | grep -qx 'admin' +echo "Checking schema migrations..." +psql "$DB_CONNECTION_STRING" -Atc "SELECT 1 FROM schema_migrations WHERE version = '003';" >/dev/null +echo "Admin seed validation passed."