mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-19 06:27:27 +00:00
test: share memory search manager fixtures
This commit is contained in:
@@ -29,48 +29,67 @@ function createManagerStatus(params: {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function createManagerMock(params: {
|
||||||
|
backend: "qmd" | "builtin";
|
||||||
|
provider: string;
|
||||||
|
model: string;
|
||||||
|
requestedProvider: string;
|
||||||
|
searchResults?: Array<{
|
||||||
|
path: string;
|
||||||
|
startLine: number;
|
||||||
|
endLine: number;
|
||||||
|
score: number;
|
||||||
|
snippet: string;
|
||||||
|
source: "memory";
|
||||||
|
}>;
|
||||||
|
withMemorySourceCounts?: boolean;
|
||||||
|
}) {
|
||||||
|
return {
|
||||||
|
search: vi.fn(async () => params.searchResults ?? []),
|
||||||
|
readFile: vi.fn(async () => ({ text: "", path: "MEMORY.md" })),
|
||||||
|
status: vi.fn(() =>
|
||||||
|
createManagerStatus({
|
||||||
|
backend: params.backend,
|
||||||
|
provider: params.provider,
|
||||||
|
model: params.model,
|
||||||
|
requestedProvider: params.requestedProvider,
|
||||||
|
withMemorySourceCounts: params.withMemorySourceCounts,
|
||||||
|
}),
|
||||||
|
),
|
||||||
|
sync: vi.fn(async () => {}),
|
||||||
|
probeEmbeddingAvailability: vi.fn(async () => ({ ok: true })),
|
||||||
|
probeVectorAvailability: vi.fn(async () => true),
|
||||||
|
close: vi.fn(async () => {}),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
const mockPrimary = vi.hoisted(() => ({
|
const mockPrimary = vi.hoisted(() => ({
|
||||||
search: vi.fn(async () => []),
|
...createManagerMock({
|
||||||
readFile: vi.fn(async () => ({ text: "", path: "MEMORY.md" })),
|
backend: "qmd",
|
||||||
status: vi.fn(() =>
|
provider: "qmd",
|
||||||
createManagerStatus({
|
model: "qmd",
|
||||||
backend: "qmd",
|
requestedProvider: "qmd",
|
||||||
provider: "qmd",
|
withMemorySourceCounts: true,
|
||||||
model: "qmd",
|
}),
|
||||||
requestedProvider: "qmd",
|
|
||||||
withMemorySourceCounts: true,
|
|
||||||
}),
|
|
||||||
),
|
|
||||||
sync: vi.fn(async () => {}),
|
|
||||||
probeEmbeddingAvailability: vi.fn(async () => ({ ok: true })),
|
|
||||||
probeVectorAvailability: vi.fn(async () => true),
|
|
||||||
close: vi.fn(async () => {}),
|
|
||||||
}));
|
}));
|
||||||
|
|
||||||
const fallbackManager = vi.hoisted(() => ({
|
const fallbackManager = vi.hoisted(() => ({
|
||||||
search: vi.fn(async () => [
|
...createManagerMock({
|
||||||
{
|
backend: "builtin",
|
||||||
path: "MEMORY.md",
|
provider: "openai",
|
||||||
startLine: 1,
|
model: "text-embedding-3-small",
|
||||||
endLine: 1,
|
requestedProvider: "openai",
|
||||||
score: 1,
|
searchResults: [
|
||||||
snippet: "fallback",
|
{
|
||||||
source: "memory" as const,
|
path: "MEMORY.md",
|
||||||
},
|
startLine: 1,
|
||||||
]),
|
endLine: 1,
|
||||||
readFile: vi.fn(async () => ({ text: "", path: "MEMORY.md" })),
|
score: 1,
|
||||||
status: vi.fn(() =>
|
snippet: "fallback",
|
||||||
createManagerStatus({
|
source: "memory",
|
||||||
backend: "builtin",
|
},
|
||||||
provider: "openai",
|
],
|
||||||
model: "text-embedding-3-small",
|
}),
|
||||||
requestedProvider: "openai",
|
|
||||||
}),
|
|
||||||
),
|
|
||||||
sync: vi.fn(async () => {}),
|
|
||||||
probeEmbeddingAvailability: vi.fn(async () => ({ ok: true })),
|
|
||||||
probeVectorAvailability: vi.fn(async () => true),
|
|
||||||
close: vi.fn(async () => {}),
|
|
||||||
}));
|
}));
|
||||||
|
|
||||||
const fallbackSearch = fallbackManager.search;
|
const fallbackSearch = fallbackManager.search;
|
||||||
|
|||||||
Reference in New Issue
Block a user