test(federation-identity): #7 #8 — owned-spaces 409 + transfer-and-retry

Also fixes per-IP rate limit exhaustion in test environments: @fastify/rate-limit
v9 has no skip(); use allowList(() => NODE_ENV==='test') which propagates to
per-route overrides via mergeParams Object.assign merge.
This commit is contained in:
Jannis Braun
2026-05-04 00:13:14 +02:00
parent 22daaafb63
commit b5df3d5075
2 changed files with 69 additions and 0 deletions
+4
View File
@@ -83,6 +83,10 @@ async function main(): Promise<void> {
max: 200,
timeWindow: '1 minute',
keyGenerator: (request) => (request as any).userId || request.ip,
// In test environments every request originates from 127.0.0.1, so
// per-IP rate limits would exhaust across unrelated tests. Bypass all
// rate limiting (both global and per-route) when NODE_ENV=test.
allowList: () => process.env.NODE_ENV === 'test',
errorResponseBuilder: (_request, context) => ({
statusCode: 429,
error: 'Too Many Requests',