fix(test): Fix DATABASE_URL environment setup for integration tests

Fixes integration test failures caused by missing DATABASE_URL environment variable.

Changes:
- Add dotenv as dev dependency to load .env.test in vitest setup
- Add .env.test to .gitignore to prevent committing test credentials
- Create .env.test.example with warning comments for documentation
- Add conditional test skipping when DATABASE_URL is not available
- Add DATABASE_URL format validation in vitest setup
- Add error handling to test cleanup to prevent silent failures
- Remove filesystem path disclosure from error messages

The fix allows integration tests to:
- Load DATABASE_URL from .env.test locally for developers with database setup
- Skip gracefully if DATABASE_URL is not available (no database running)
- Connect to postgres service in CI where DATABASE_URL is explicitly provided

Tests affected: auth-rls.integration.spec.ts and other integration tests
requiring real database connections.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
This commit is contained in:
2026-02-07 17:46:59 -06:00
co-authored by Claude Opus 4.6
parent 4552c2c460
commit 0b0666558e
6 changed files with 565 additions and 496 deletions
+8 -5
View File
@@ -244,6 +244,9 @@ importers:
'@vitest/coverage-v8':
specifier: ^4.0.18
version: 4.0.18([email protected](@opentelemetry/[email protected])(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected]))
dotenv:
specifier: ^17.2.4
version: 17.2.4
express:
specifier: ^5.2.1
version: 5.2.1
@@ -4103,8 +4106,8 @@ packages:
resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
engines: {node: '>=12'}
[email protected].3:
resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==}
[email protected].4:
resolution: {integrity: sha512-mudtfb4zRB4bVvdj0xRo+e6duH1csJRM8IukBqfTRvHotn9+LBXB8ynAidP9zHqoRC/fsllXgk4kCKlR21fIhw==}
engines: {node: '>=12'}
[email protected]:
@@ -7040,7 +7043,7 @@ snapshots:
c12: 3.3.3([email protected])
chalk: 5.6.2
commander: 12.1.0
dotenv: 17.2.3
dotenv: 17.2.4
drizzle-orm: 0.41.0(@opentelemetry/[email protected])(@prisma/[email protected]([email protected]([email protected])([email protected]))([email protected]))(@types/[email protected])([email protected])([email protected])([email protected])([email protected]([email protected])([email protected]))
open: 10.2.0
pg: 8.17.2
@@ -10150,7 +10153,7 @@ snapshots:
chokidar: 5.0.0
confbox: 0.2.2
defu: 6.1.4
dotenv: 17.2.3
dotenv: 17.2.4
exsolve: 1.0.8
giget: 2.0.0
jiti: 2.6.1
@@ -10748,7 +10751,7 @@ snapshots:
[email protected]: {}
[email protected].3: {}
[email protected].4: {}
[email protected](@opentelemetry/[email protected])(@prisma/[email protected]([email protected]([email protected])([email protected]))([email protected]))(@types/[email protected])([email protected])([email protected])([email protected])([email protected]([email protected])([email protected])):
optionalDependencies: