mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-02 12:51:57 +00:00
32 lines
983 B
TypeScript
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([]);
|
|
});
|
|
});
|