Files
diegosouzapw--omniroute/tests/unit/auto-combo-request-controls-6024.test.ts
2026-07-13 13:39:12 +08:00

68 lines
2.7 KiB
TypeScript

import test from "node:test";
import assert from "node:assert/strict";
// Regression guard for #6024 / #6025 / #6023 — per-request auto-combo routing controls.
// A caller can steer an `auto` combo per request via two headers:
// X-OmniRoute-Mode: fast | balanced | quality | <raw mode-pack name> (#6024/#6025)
// X-OmniRoute-Budget: <max USD per request> (#6023)
// The pure resolvers below turn the raw header values into an override the
// auto-combo engine already knows how to consume (config.modePack / config.budgetCap).
const { resolveRequestModePack, parseRequestBudgetCap } = await import(
"../../open-sse/services/autoCombo/requestControls.ts"
);
test("#6024 friendly presets map to mode packs and override combo config", () => {
assert.deepEqual(resolveRequestModePack("fast"), { override: true, modePack: "ship-fast" });
assert.deepEqual(resolveRequestModePack("quality"), {
override: true,
modePack: "quality-first",
});
assert.deepEqual(resolveRequestModePack("cheap"), { override: true, modePack: "cost-saver" });
assert.deepEqual(resolveRequestModePack("reliable"), {
override: true,
modePack: "reliability-first",
});
});
test("#6024 'balanced'/'default' override to the default profile (no pack)", () => {
assert.deepEqual(resolveRequestModePack("balanced"), { override: true, modePack: undefined });
assert.deepEqual(resolveRequestModePack("default"), { override: true, modePack: undefined });
});
test("#6025 raw mode-pack names pass through (case-insensitive, trimmed)", () => {
assert.deepEqual(resolveRequestModePack("ship-fast"), {
override: true,
modePack: "ship-fast",
});
assert.deepEqual(resolveRequestModePack(" Quality-First "), {
override: true,
modePack: "quality-first",
});
});
test("#6025 unknown/empty/non-string input does NOT override (keeps combo config)", () => {
for (const bad of ["", " ", "not-a-real-pack", null, undefined, 42, {}]) {
assert.deepEqual(
resolveRequestModePack(bad as unknown),
{ override: false, modePack: undefined },
`input ${JSON.stringify(bad)} must not override`
);
}
});
test("#6023 budget header parses a positive USD amount, rejects garbage", () => {
assert.equal(parseRequestBudgetCap("0.05"), 0.05);
assert.equal(parseRequestBudgetCap("2"), 2);
assert.equal(parseRequestBudgetCap(1.5), 1.5);
assert.equal(parseRequestBudgetCap(" 0.5 "), 0.5);
// rejected → undefined (fall back to combo config)
for (const bad of ["0", "-1", "abc", "", " ", null, undefined, NaN, Infinity, 0, -3]) {
assert.equal(
parseRequestBudgetCap(bad as unknown),
undefined,
`input ${JSON.stringify(bad)} must be rejected`
);
}
});