Files
openclaw/src/agents/pi-embedded-runner/session-manager-cache.test.ts
2026-03-22 22:10:48 +00:00

32 lines
983 B
TypeScript

import { describe, expect, it } from "vitest";
import { createSessionManagerCache } from "./session-manager-cache.js";
describe("session manager cache", () => {
it("prunes expired entries during later cache activity even without revisiting them", () => {
let now = 1_000;
const cache = createSessionManagerCache({
clock: () => now,
ttlMs: 5_000,
});
cache.trackSessionManagerAccess("/tmp/stale-session.jsonl");
expect(cache.keys()).toEqual(["/tmp/stale-session.jsonl"]);
now = 7_000;
cache.trackSessionManagerAccess("/tmp/fresh-session.jsonl");
expect(cache.keys()).toEqual(["/tmp/fresh-session.jsonl"]);
});
it("can disable caching via the injected TTL resolver", () => {
const cache = createSessionManagerCache({
ttlMs: 0,
});
cache.trackSessionManagerAccess("/tmp/session.jsonl");
expect(cache.isSessionManagerCached("/tmp/session.jsonl")).toBe(false);
expect(cache.keys()).toEqual([]);
});
});