mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-18 12:52:25 +03:00
* fix(codex): fail fast and release per-account Responses WS leases * chore(changelog): add fragment for Codex WS lease fail-fast fix Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com> * fix(codex): carry the reasoning-rule context through the leased WS path --------- Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
27 lines
936 B
TypeScript
27 lines
936 B
TypeScript
import assert from "node:assert/strict";
|
|
import fs from "node:fs";
|
|
import path from "node:path";
|
|
import test from "node:test";
|
|
|
|
const balancer = await import("../../src/sse/services/codexWsLease.ts");
|
|
|
|
test("Codex WS lease module has no quota-based account selector", () => {
|
|
const source = fs.readFileSync(
|
|
path.resolve(import.meta.dirname, "../../src/sse/services/codexWsLease.ts"),
|
|
"utf8"
|
|
);
|
|
|
|
assert.doesNotMatch(source, /selectCodex(?:Fair|Ws)Connection|remainingQuota|nextCodexFair/);
|
|
});
|
|
|
|
test("Codex WS leases enforce per-account concurrency and are released exactly once", async () => {
|
|
balancer.clearCodexWsLeasesForTest();
|
|
|
|
const lease = await balancer.acquireCodexWsLease("account-a", 1);
|
|
assert.ok(lease);
|
|
assert.equal(await balancer.acquireCodexWsLease("account-a", 1), null);
|
|
|
|
assert.equal(balancer.releaseCodexWsLease(lease), true);
|
|
assert.equal(balancer.releaseCodexWsLease(lease), false);
|
|
});
|