Files
OmniRoute/tests/unit/command-code-usage.test.ts
SB Yoon e4a7da7526 feat(usage): add Command Code quota tracking (#9921)
Wire Bearer /alpha billing credits and 5h/weekly windows into Provider
Limits and genericQuotaFetcher so dashboard and preflight see live CC quotas.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 03:25:02 -03:00

261 lines
8.7 KiB
TypeScript

/**
* tests/unit/command-code-usage.test.ts
*
* Command Code usage.ts dispatch + Provider Limits allowlists for
* monthly credits + 5h/weekly rolling windows (Bearer /alpha APIs).
*/
import { describe, it, afterEach } from "node:test";
import assert from "node:assert/strict";
const { __testing, USAGE_FETCHER_PROVIDERS, getUsageForProvider } =
await import("../../open-sse/services/usage.ts");
const { USAGE_SUPPORTED_PROVIDERS } = await import("../../src/shared/constants/providers.ts");
const { isSupportedUsageConnection } = await import("../../src/lib/usage/providerLimits.ts");
const { convertUsageToQuotaInfo } = await import("../../open-sse/services/genericQuotaFetcher.ts");
const { getCommandCodeUsage } = __testing;
const originalFetch = globalThis.fetch;
type QuotaShape = {
used: number;
total: number;
remaining?: number;
remainingPercentage?: number;
resetAt: string | null;
currency?: string;
displayName?: string;
};
function jsonResponse(body: unknown, status = 200) {
return new Response(JSON.stringify(body), {
status,
headers: { "content-type": "application/json" },
});
}
const CREDITS_PAYLOAD = {
credits: {
belowThreshold: false,
creditThreshold: 0,
monthlyCredits: 34.9522404823,
purchasedCredits: 0.0446690956,
freeCredits: 0,
},
windowLimits: {
limited: true,
exceeded: "weekly",
fiveHour: {
used: 0,
cap: 14,
exceeded: false,
resetAt: 0,
},
weekly: {
used: 35.0477595177,
cap: 35,
exceeded: true,
resetAt: 1786575240518,
},
},
};
const WHOAMI_PERSONAL = {
success: true,
user: { id: "u1", name: "dev", email: "dev@example.com", userName: "dev" },
org: null,
};
const SUBSCRIPTION_GOAT = {
success: true,
data: {
id: "sub_1",
status: "active",
orgId: null,
currentPeriodStart: "2026-08-05T22:27:41.000Z",
currentPeriodEnd: "2026-09-05T22:27:41.000Z",
planId: "individual-goat",
},
};
const USAGE_SUMMARY = {
totalCount: 1260,
totalCost: 55.0030904221,
totalMonthlyCredits: 35.0477595177,
totalPurchasedCredits: 19.9553309044,
periodBasis: "billing-period",
};
function installMockFetch(handlers: Record<string, () => Response>) {
globalThis.fetch = async (input: RequestInfo | URL) => {
const url = String(input);
for (const [needle, handler] of Object.entries(handlers)) {
if (url.includes(needle)) return handler();
}
return jsonResponse({ error: `unhandled fetch: ${url}` }, 500);
};
}
describe("Command Code usage dispatch", () => {
afterEach(() => {
globalThis.fetch = originalFetch;
});
it("registers command-code in USAGE_FETCHER_PROVIDERS and USAGE_SUPPORTED_PROVIDERS", () => {
assert.ok((USAGE_FETCHER_PROVIDERS as readonly string[]).includes("command-code"));
assert.ok((USAGE_SUPPORTED_PROVIDERS as readonly string[]).includes("command-code"));
});
it("isSupportedUsageConnection accepts command-code apikey connections", () => {
assert.equal(
isSupportedUsageConnection({
id: "c1",
provider: "command-code",
authType: "apikey",
}),
true
);
});
it("getCommandCodeUsage maps credits + windows + period spend", async () => {
installMockFetch({
"/alpha/whoami": () => jsonResponse(WHOAMI_PERSONAL),
"/alpha/billing/credits": () => jsonResponse(CREDITS_PAYLOAD),
"/alpha/billing/subscriptions": () => jsonResponse(SUBSCRIPTION_GOAT),
"/alpha/usage/summary": () => jsonResponse(USAGE_SUMMARY),
});
const r = (await getCommandCodeUsage("cc-key")) as {
plan?: string;
message?: string;
quotas?: {
five_hour?: QuotaShape;
weekly?: QuotaShape;
credits?: QuotaShape;
};
};
assert.ok(r.quotas?.five_hour, `expected five_hour, got: ${JSON.stringify(r)}`);
assert.ok(r.quotas?.weekly, `expected weekly, got: ${JSON.stringify(r)}`);
assert.ok(r.quotas?.credits, `expected credits, got: ${JSON.stringify(r)}`);
assert.match(r.plan || "", /GOAT/i);
assert.equal(r.quotas!.five_hour!.used, 0);
assert.equal(r.quotas!.five_hour!.total, 14);
assert.equal(r.quotas!.five_hour!.resetAt, null);
assert.equal(r.quotas!.five_hour!.currency, "USD");
// used clamped to total when upstream reports slight overshoot
assert.equal(r.quotas!.weekly!.used, 35);
assert.equal(r.quotas!.weekly!.total, 35);
assert.equal(r.quotas!.weekly!.remaining, 0);
assert.equal(r.quotas!.weekly!.remainingPercentage, 0);
assert.ok(r.quotas!.weekly!.resetAt?.startsWith("2026-"));
const remainingCredits = 34.9522404823 + 0.0446690956;
assert.ok(Math.abs((r.quotas!.credits!.remaining ?? 0) - remainingCredits) < 1e-9);
assert.equal(r.quotas!.credits!.used, USAGE_SUMMARY.totalCost);
assert.ok(
Math.abs(r.quotas!.credits!.total - (USAGE_SUMMARY.totalCost + remainingCredits)) < 1e-9
);
assert.equal(r.quotas!.credits!.resetAt, "2026-09-05T22:27:41.000Z");
assert.equal(r.quotas!.credits!.currency, "USD");
});
it("getCommandCodeUsage works for org:null without orgId query params", async () => {
const seen: string[] = [];
globalThis.fetch = async (input: RequestInfo | URL) => {
const url = String(input);
seen.push(url);
if (url.includes("/alpha/whoami")) return jsonResponse(WHOAMI_PERSONAL);
if (url.includes("/alpha/billing/credits")) return jsonResponse(CREDITS_PAYLOAD);
if (url.includes("/alpha/billing/subscriptions")) return jsonResponse(SUBSCRIPTION_GOAT);
if (url.includes("/alpha/usage/summary")) return jsonResponse(USAGE_SUMMARY);
return jsonResponse({ error: "unhandled" }, 500);
};
await getCommandCodeUsage("cc-key");
assert.ok(seen.some((u) => u.includes("/alpha/billing/credits")));
assert.ok(!seen.some((u) => /[?&]orgId=/.test(u)));
});
it("getCommandCodeUsage returns message when apiKey missing", async () => {
const r = (await getCommandCodeUsage("")) as { message?: string; quotas?: unknown };
assert.ok(r.message && !r.quotas);
});
it("getCommandCodeUsage returns message-only on 401", async () => {
installMockFetch({
"/alpha/whoami": () => jsonResponse({ success: false }, 401),
"/alpha/billing/credits": () =>
jsonResponse(
{
success: false,
error: { code: "UNAUTHORIZED", status: 401, message: "Invalid token" },
},
401
),
});
const r = (await getCommandCodeUsage("bad-key")) as { message?: string; quotas?: unknown };
assert.ok(r.message && !r.quotas);
});
it("getCommandCodeUsage soft-fails when subscription/summary unavailable", async () => {
installMockFetch({
"/alpha/whoami": () => jsonResponse(WHOAMI_PERSONAL),
"/alpha/billing/credits": () => jsonResponse(CREDITS_PAYLOAD),
"/alpha/billing/subscriptions": () => jsonResponse({ success: false }, 500),
"/alpha/usage/summary": () => jsonResponse({ error: "boom" }, 500),
});
const r = (await getCommandCodeUsage("cc-key")) as {
plan?: string;
quotas?: { five_hour?: QuotaShape; weekly?: QuotaShape; credits?: QuotaShape };
};
assert.ok(r.quotas?.five_hour);
assert.ok(r.quotas?.weekly);
assert.ok(r.quotas?.credits);
// Without summary spend, used defaults to 0; remaining still from credit pools
assert.equal(r.quotas!.credits!.used, 0);
assert.ok((r.quotas!.credits!.remaining ?? 0) > 0);
});
it("getUsageForProvider('command-code', ...) delegates to getCommandCodeUsage", async () => {
installMockFetch({
"/alpha/whoami": () => jsonResponse(WHOAMI_PERSONAL),
"/alpha/billing/credits": () => jsonResponse(CREDITS_PAYLOAD),
"/alpha/billing/subscriptions": () => jsonResponse(SUBSCRIPTION_GOAT),
"/alpha/usage/summary": () => jsonResponse(USAGE_SUMMARY),
});
const r = (await getUsageForProvider({
id: "conn-cc",
provider: "command-code",
apiKey: "dispatch-key",
} as Parameters<typeof getUsageForProvider>[0])) as {
quotas?: { weekly?: QuotaShape };
plan?: string;
};
assert.match(r.plan || "", /GOAT/i);
assert.equal(r.quotas?.weekly?.total, 35);
});
it("convertUsageToQuotaInfo marks weekly-exhausted Command Code as limitReached", async () => {
installMockFetch({
"/alpha/whoami": () => jsonResponse(WHOAMI_PERSONAL),
"/alpha/billing/credits": () => jsonResponse(CREDITS_PAYLOAD),
"/alpha/billing/subscriptions": () => jsonResponse(SUBSCRIPTION_GOAT),
"/alpha/usage/summary": () => jsonResponse(USAGE_SUMMARY),
});
const usage = await getCommandCodeUsage("cc-key");
const info = convertUsageToQuotaInfo(usage);
assert.ok(info);
assert.equal(info!.limitReached, true);
assert.ok((info!.windows.weekly?.percentUsed ?? 0) >= 1 - 1e-9);
});
});