mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-11 09:42:15 +03:00
* fix(ratelimit): add queue-wait timeout and update sequencing tests (#9533) * fix(combo): distinguish pre-dispatch skips from genuine failures to prevent false 503 ALL_ACCOUNTS_INACTIVE (#9630) Closes #9630 --------- Co-authored-by: diegosouzapw <diegosouzapw@users.noreply.github.com>
39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import test from "node:test";
|
|
import assert from "node:assert/strict";
|
|
|
|
const rlm = await import("../../open-sse/services/rateLimitManager.ts");
|
|
const { enableRateLimitProtection, withRateLimit, __resetRateLimitManagerForTests } = rlm;
|
|
|
|
test.beforeEach(async () => {
|
|
await __resetRateLimitManagerForTests();
|
|
});
|
|
|
|
test("withRateLimit works without abort signal (backward compat)", async () => {
|
|
enableRateLimitProtection("test-queue-1");
|
|
const result = await withRateLimit("openai", "test-queue-1", "gpt-4", async () => "ok");
|
|
assert.equal(result, "ok");
|
|
});
|
|
|
|
test("withRateLimit works with AbortSignal", async () => {
|
|
enableRateLimitProtection("test-queue-2");
|
|
const ac = new AbortController();
|
|
const result = await withRateLimit(
|
|
"openai",
|
|
"test-queue-2",
|
|
"gpt-4",
|
|
async () => "ok",
|
|
ac.signal
|
|
);
|
|
assert.equal(result, "ok");
|
|
ac.abort();
|
|
});
|
|
|
|
test("multiple sequential withRateLimit calls work", async () => {
|
|
enableRateLimitProtection("test-queue-3");
|
|
const results = await Promise.all([
|
|
withRateLimit("openai", "test-queue-3", "gpt-4", async () => "a"),
|
|
withRateLimit("openai", "test-queue-3", "gpt-4", async () => "b"),
|
|
]);
|
|
assert.deepEqual(results.sort(), ["a", "b"]);
|
|
});
|