mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-06 23:12:09 +03:00
test(video): preserve daily quota lockout semantics
This commit is contained in:
@@ -1,34 +1,41 @@
|
||||
import assert from "node:assert/strict";
|
||||
import test from "node:test";
|
||||
|
||||
import { resolveDailyQuotaLockoutModel } from "../../src/sse/handlers/chatPredicates.ts";
|
||||
import { resolveDailyQuotaModelViews } from "../../src/sse/handlers/chatPredicates.ts";
|
||||
|
||||
test("daily quota model uses the upstream model token for ordinary requests", () => {
|
||||
assert.equal(
|
||||
resolveDailyQuotaLockoutModel(
|
||||
test("daily quota model uses the upstream model token for ordinary operational and retained views", () => {
|
||||
assert.deepEqual(
|
||||
resolveDailyQuotaModelViews(
|
||||
"You have exceeded today's quota for model moonshotai/Kimi-K2.5, try tomorrow",
|
||||
"Kimi-K2.5",
|
||||
false
|
||||
),
|
||||
"moonshotai/Kimi-K2.5"
|
||||
{
|
||||
operationalModel: "moonshotai/Kimi-K2.5",
|
||||
retainedModel: "moonshotai/Kimi-K2.5",
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
test("daily quota model never persists a transcript echo for a sensitive video request", () => {
|
||||
test("daily quota keeps the raw operational key but redacts its retained sensitive view", () => {
|
||||
const transcriptSentinel = "PRIVATE_DAILY_QUOTA_TRANSCRIPT_SENTINEL";
|
||||
const resolved = resolveDailyQuotaLockoutModel(
|
||||
const views = resolveDailyQuotaModelViews(
|
||||
`You have exceeded today's quota for model ${transcriptSentinel}, try tomorrow`,
|
||||
"server-resolved-model",
|
||||
true
|
||||
);
|
||||
|
||||
assert.equal(resolved, "server-resolved-model");
|
||||
assert.equal(resolved.includes(transcriptSentinel), false);
|
||||
assert.equal(views.operationalModel, transcriptSentinel);
|
||||
assert.equal(views.retainedModel, "[omitted: video transcript]");
|
||||
assert.equal(views.retainedModel.includes(transcriptSentinel), false);
|
||||
});
|
||||
|
||||
test("daily quota model falls back to the server-resolved model when no token is present", () => {
|
||||
assert.equal(
|
||||
resolveDailyQuotaLockoutModel("daily quota exhausted", "server-resolved-model", false),
|
||||
"server-resolved-model"
|
||||
assert.deepEqual(
|
||||
resolveDailyQuotaModelViews("daily quota exhausted", "server-resolved-model", true),
|
||||
{
|
||||
operationalModel: "server-resolved-model",
|
||||
retainedModel: "server-resolved-model",
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user