test(pitch-deck): vitest setup + tests for auth + admin-auth + rate-limit
Some checks failed
CI / go-lint (pull_request) Failing after 1s
CI / python-lint (pull_request) Failing after 10s
CI / nodejs-lint (pull_request) Failing after 2s
CI / test-go-consent (pull_request) Failing after 2s
CI / test-python-voice (pull_request) Failing after 9s
CI / test-bqas (pull_request) Failing after 12s
CI / Deploy (pull_request) Has been skipped

Adds vitest with 36 tests covering the security primitives:

- lib/auth: token gen uniqueness, hashToken determinism, JWT roundtrip,
  validateAdminSecret bearer flow, getClientIp x-forwarded-for parsing
- lib/admin-auth: bcrypt hash uniqueness/verify, JWT roundtrip,
  audience claim isolation (admin JWT does not validate as investor JWT)
- lib/rate-limit: limit enforcement, key isolation, window reset via
  fake timers, preset config sanity

Pure-function coverage only — route handler integration tests would
need a test DB and are deferred.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Sharang Parnerkar
2026-04-07 11:39:19 +02:00
parent fc71439011
commit 04ceed61c9
7 changed files with 1427 additions and 4 deletions

View File

@@ -0,0 +1,16 @@
import { defineConfig } from 'vitest/config'
import path from 'path'
export default defineConfig({
test: {
environment: 'node',
include: ['__tests__/**/*.test.ts'],
setupFiles: ['./__tests__/setup.ts'],
globals: false,
},
resolve: {
alias: {
'@': path.resolve(__dirname, '.'),
},
},
})