chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
import { describe, it } from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
|
||||
import {
|
||||
recordCacheStats,
|
||||
getCacheStatsSummary,
|
||||
} from "../../src/lib/db/compressionCacheStats.ts";
|
||||
|
||||
describe("compressionCacheStats", () => {
|
||||
it("getCacheStatsSummary returns summary", () => {
|
||||
const summary = getCacheStatsSummary();
|
||||
assert.ok(typeof summary.totalRequests === "number");
|
||||
assert.ok(typeof summary.avgNetSavings === "number");
|
||||
assert.ok(typeof summary.cacheHitRate === "number");
|
||||
assert.ok(typeof summary.byProvider === "object");
|
||||
});
|
||||
|
||||
it("recordCacheStats inserts and getCacheStatsSummary retrieves", () => {
|
||||
recordCacheStats({
|
||||
provider: "test-provider",
|
||||
model: "test-model",
|
||||
compressionMode: "lite",
|
||||
cacheControlPresent: true,
|
||||
estimatedCacheHit: true,
|
||||
tokensSavedCompression: 100,
|
||||
tokensSavedCaching: 50,
|
||||
netSavings: 150,
|
||||
});
|
||||
const summary = getCacheStatsSummary();
|
||||
assert.ok(summary.totalRequests >= 1, "should have at least 1 request");
|
||||
assert.ok("test-provider" in summary.byProvider, "should have test-provider");
|
||||
});
|
||||
|
||||
it("recordCacheStats handles missing model", () => {
|
||||
recordCacheStats({
|
||||
provider: "no-model-provider",
|
||||
compressionMode: "standard",
|
||||
cacheControlPresent: false,
|
||||
estimatedCacheHit: false,
|
||||
tokensSavedCompression: 0,
|
||||
tokensSavedCaching: 0,
|
||||
netSavings: 0,
|
||||
});
|
||||
const summary = getCacheStatsSummary();
|
||||
assert.ok("no-model-provider" in summary.byProvider);
|
||||
});
|
||||
|
||||
it("getCacheStatsSummary with since filter", () => {
|
||||
const future = new Date(Date.now() + 86400000);
|
||||
const summary = getCacheStatsSummary(future);
|
||||
assert.equal(summary.totalRequests, 0, "future date should return 0");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user