Problem: every test run left e2e-oauth-test, e2e-revoke-test, and
e2e-revoke-key-test rows in oauth_clients and access_tokens. The CLI-based
cleanup in afterAll was failing silently.
Fix:
- beforeAll: SQL DELETE of any e2e-* orphans from previous crashed runs
- afterAll: direct SQL cleanup of oauth_tokens, oauth_clients, access_tokens,
mcp_request_log — all rows matching 'e2e-%' pattern
- No reliance on CLI commands for cleanup (they fail silently)
Verified: 52 tests pass, 0 test rows remain after run.