mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-30 06:13:34 +00:00
test: scope manager reindex state
This commit is contained in:
@@ -18,6 +18,19 @@ const createEmbeddingProviderMock = vi.hoisted(() =>
|
||||
providerUnavailableReason: "No embeddings provider available.",
|
||||
})),
|
||||
);
|
||||
const originalFtsOnlyStateDir = process.env.OPENCLAW_STATE_DIR;
|
||||
|
||||
function setFtsOnlyStateDir(stateDir: string): void {
|
||||
Reflect.set(process.env, "OPENCLAW_STATE_DIR", stateDir);
|
||||
}
|
||||
|
||||
function restoreFtsOnlyStateDir(): void {
|
||||
if (originalFtsOnlyStateDir === undefined) {
|
||||
Reflect.deleteProperty(process.env, "OPENCLAW_STATE_DIR");
|
||||
} else {
|
||||
Reflect.set(process.env, "OPENCLAW_STATE_DIR", originalFtsOnlyStateDir);
|
||||
}
|
||||
}
|
||||
|
||||
vi.mock("./embeddings.js", () => ({
|
||||
createEmbeddingProvider: createEmbeddingProviderMock,
|
||||
@@ -44,7 +57,7 @@ describe("memory manager FTS-only reindex", () => {
|
||||
workspaceDir = path.join(fixtureRoot, `case-${caseId++}`);
|
||||
await fs.mkdir(path.join(workspaceDir, "memory"), { recursive: true });
|
||||
await fs.writeFile(path.join(workspaceDir, "MEMORY.md"), "Alpha topic\n\nKeep this note.");
|
||||
vi.stubEnv("OPENCLAW_STATE_DIR", path.join(workspaceDir, "state"));
|
||||
setFtsOnlyStateDir(path.join(workspaceDir, "state"));
|
||||
indexPath = resolveOpenClawAgentSqlitePath({ agentId: "main" });
|
||||
});
|
||||
|
||||
@@ -54,7 +67,7 @@ describe("memory manager FTS-only reindex", () => {
|
||||
manager = null;
|
||||
}
|
||||
await closeAllMemorySearchManagers();
|
||||
vi.unstubAllEnvs();
|
||||
restoreFtsOnlyStateDir();
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
|
||||
@@ -13,6 +13,19 @@ import type { MemoryIndexMeta } from "./manager-reindex-state.js";
|
||||
|
||||
type SessionDeltaState = { lastSize: number; pendingBytes: number; pendingMessages: number };
|
||||
type SyncSessionParams = { needsFullReindex: boolean; targetSessionFiles?: string[] };
|
||||
const originalReindexStateDir = process.env.OPENCLAW_STATE_DIR;
|
||||
|
||||
function setReindexStateDir(stateDir: string): void {
|
||||
Reflect.set(process.env, "OPENCLAW_STATE_DIR", stateDir);
|
||||
}
|
||||
|
||||
function restoreReindexStateDir(): void {
|
||||
if (originalReindexStateDir === undefined) {
|
||||
Reflect.deleteProperty(process.env, "OPENCLAW_STATE_DIR");
|
||||
} else {
|
||||
Reflect.set(process.env, "OPENCLAW_STATE_DIR", originalReindexStateDir);
|
||||
}
|
||||
}
|
||||
|
||||
type ReindexHarness = {
|
||||
sync: (params: { reason?: string; force?: boolean }) => Promise<void>;
|
||||
@@ -42,11 +55,11 @@ describe("memory manager reindex recovery", () => {
|
||||
workspaceDir = path.join(fixtureRoot, "workspace");
|
||||
memoryDir = path.join(workspaceDir, "memory");
|
||||
await fs.mkdir(memoryDir, { recursive: true });
|
||||
vi.stubEnv("OPENCLAW_STATE_DIR", path.join(fixtureRoot, "state"));
|
||||
setReindexStateDir(path.join(fixtureRoot, "state"));
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
vi.unstubAllEnvs();
|
||||
restoreReindexStateDir();
|
||||
vi.restoreAllMocks();
|
||||
if (manager) {
|
||||
await manager.close();
|
||||
|
||||
Reference in New Issue
Block a user