mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-02 17:20:23 +00:00
refactor: move memory engine behind plugin adapters
This commit is contained in:
49
src/plugins/memory-embedding-providers.test.ts
Normal file
49
src/plugins/memory-embedding-providers.test.ts
Normal file
@@ -0,0 +1,49 @@
|
||||
import { afterEach, describe, expect, it } from "vitest";
|
||||
import {
|
||||
clearMemoryEmbeddingProviders,
|
||||
getMemoryEmbeddingProvider,
|
||||
listMemoryEmbeddingProviders,
|
||||
registerMemoryEmbeddingProvider,
|
||||
restoreMemoryEmbeddingProviders,
|
||||
type MemoryEmbeddingProviderAdapter,
|
||||
} from "./memory-embedding-providers.js";
|
||||
|
||||
function createAdapter(id: string): MemoryEmbeddingProviderAdapter {
|
||||
return {
|
||||
id,
|
||||
create: async () => ({ provider: null }),
|
||||
};
|
||||
}
|
||||
|
||||
afterEach(() => {
|
||||
clearMemoryEmbeddingProviders();
|
||||
});
|
||||
|
||||
describe("memory embedding provider registry", () => {
|
||||
it("registers and lists adapters in insertion order", () => {
|
||||
registerMemoryEmbeddingProvider(createAdapter("alpha"));
|
||||
registerMemoryEmbeddingProvider(createAdapter("beta"));
|
||||
|
||||
expect(getMemoryEmbeddingProvider("alpha")?.id).toBe("alpha");
|
||||
expect(listMemoryEmbeddingProviders().map((adapter) => adapter.id)).toEqual(["alpha", "beta"]);
|
||||
});
|
||||
|
||||
it("restores a previous snapshot", () => {
|
||||
const alpha = createAdapter("alpha");
|
||||
const beta = createAdapter("beta");
|
||||
registerMemoryEmbeddingProvider(alpha);
|
||||
|
||||
restoreMemoryEmbeddingProviders([beta]);
|
||||
|
||||
expect(getMemoryEmbeddingProvider("alpha")).toBeUndefined();
|
||||
expect(getMemoryEmbeddingProvider("beta")).toBe(beta);
|
||||
});
|
||||
|
||||
it("clears the registry", () => {
|
||||
registerMemoryEmbeddingProvider(createAdapter("alpha"));
|
||||
|
||||
clearMemoryEmbeddingProviders();
|
||||
|
||||
expect(listMemoryEmbeddingProviders()).toEqual([]);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user