17 行
631 B
TypeScript
17 行
631 B
TypeScript
|
|
import assert from 'node:assert/strict'
|
||
|
|
import test from 'node:test'
|
||
|
|
|
||
|
|
import { parseRetryAfterMillis } from '../src/queue/backpressure'
|
||
|
|
|
||
|
|
test('Retry-After supports seconds and HTTP dates', () => {
|
||
|
|
const now = Date.parse('2026-07-28T00:00:00Z')
|
||
|
|
assert.equal(parseRetryAfterMillis('27', now), 27_000)
|
||
|
|
assert.equal(parseRetryAfterMillis('Tue, 28 Jul 2026 00:00:45 GMT', now), 45_000)
|
||
|
|
})
|
||
|
|
|
||
|
|
test('invalid or extreme Retry-After values stay bounded', () => {
|
||
|
|
assert.equal(parseRetryAfterMillis(null), 60_000)
|
||
|
|
assert.equal(parseRetryAfterMillis('invalid'), 60_000)
|
||
|
|
assert.equal(parseRetryAfterMillis('999999'), 60 * 60_000)
|
||
|
|
})
|