Files
openclaw/src/secrets/runtime-web-tools-state.test.ts
2026-05-06 11:54:13 +01:00

44 lines
1.3 KiB
TypeScript

import { afterEach, describe, expect, it } from "vitest";
import {
clearActiveRuntimeWebToolsMetadata,
getActiveRuntimeWebToolsMetadata,
setActiveRuntimeWebToolsMetadata,
} from "./runtime-web-tools-state.js";
describe("runtime web tools state", () => {
afterEach(() => {
clearActiveRuntimeWebToolsMetadata();
});
it("exposes active runtime web tool metadata as a defensive clone", () => {
setActiveRuntimeWebToolsMetadata({
search: {
providerConfigured: "gemini",
providerSource: "configured",
selectedProvider: "gemini",
selectedProviderKeySource: "secretRef",
diagnostics: [],
},
fetch: {
providerSource: "none",
diagnostics: [],
},
diagnostics: [],
});
const first = getActiveRuntimeWebToolsMetadata();
expect(first?.search.providerConfigured).toBe("gemini");
expect(first?.search.selectedProvider).toBe("gemini");
expect(first?.search.selectedProviderKeySource).toBe("secretRef");
if (!first) {
throw new Error("missing runtime web tools metadata");
}
first.search.providerConfigured = "brave";
first.search.selectedProvider = "brave";
const second = getActiveRuntimeWebToolsMetadata();
expect(second?.search.providerConfigured).toBe("gemini");
expect(second?.search.selectedProvider).toBe("gemini");
});
});