Files
openclaw/src/plugins/runtime/runtime-config.test.ts
T
Peter Steinberger c7e7ac2728 refactor: remove expired plugin compatibility surfaces (#111451)
* docs(secrets): remove retired web credential paths

* refactor(web): remove retired provider compatibility paths

* refactor(providers): delete retired compatibility routes

* refactor(secrets): remove retired credential aliases

* refactor(plugin-sdk): delete retired compatibility surfaces

* docs(plugin-sdk): remove retired migration guidance

* chore(plugin-sdk): refresh rebased surface budgets

* chore(plugin-sdk): refresh API removal baseline

* refactor(compat): migrate retired internal callers

* chore(plugin-sdk): refresh current-main baselines

* test(config): migrate plugin-owned secret assertions

* test(gateway): narrow plugin secret refs

* fix(plugin-sdk): preserve private boundary type identity

* chore(compat): remove stale sweep references

* chore(lint): lower max-lines budget

* refactor(secrets): remove unused web helper

* build(plugin-sdk): drop removed compat entries

* chore(plugin-sdk): refresh rebased API baseline

* chore(plugin-sdk): use Linux API baseline hash

* fix(plugin-sdk): preserve private bundled build entries

* fix(plugin-sdk): package private runtime facades

* fix(plugins): preserve external credential contracts
2026-07-19 11:04:48 -07:00

51 lines
1.8 KiB
TypeScript

// Runtime config tests cover plugin runtime config normalization and lookup.
import { beforeEach, describe, expect, it, vi } from "vitest";
const getRuntimeConfigMock = vi.fn();
const mutateConfigFileMock = vi.fn();
const replaceConfigFileMock = vi.fn();
vi.mock("../../config/config.js", () => ({
getRuntimeConfig: () => getRuntimeConfigMock(),
}));
vi.mock("../../config/mutate.js", () => ({
mutateConfigFile: (...args: unknown[]) => mutateConfigFileMock(...args),
replaceConfigFile: (...args: unknown[]) => replaceConfigFileMock(...args),
}));
const { createRuntimeConfig } = await import("./runtime-config.js");
describe("createRuntimeConfig", () => {
beforeEach(() => {
getRuntimeConfigMock.mockReset();
mutateConfigFileMock.mockReset();
replaceConfigFileMock.mockReset();
getRuntimeConfigMock.mockReturnValue({ plugins: {} });
});
it("reads config from the runtime snapshot", () => {
const runtimeConfig = { plugins: { entries: {} } };
getRuntimeConfigMock.mockReturnValue(runtimeConfig);
expect(createRuntimeConfig().current()).toBe(runtimeConfig);
});
it("exposes canonical mutation helpers", async () => {
mutateConfigFileMock.mockResolvedValue({ result: "updated" });
replaceConfigFileMock.mockResolvedValue({ persistedHash: "hash" });
const configApi = createRuntimeConfig();
const mutateParams = { mutate: vi.fn() };
const replaceParams = { nextConfig: { plugins: {} } };
await expect(configApi.mutateConfigFile(mutateParams as never)).resolves.toEqual({
result: "updated",
});
await expect(configApi.replaceConfigFile(replaceParams as never)).resolves.toEqual({
persistedHash: "hash",
});
expect(mutateConfigFileMock).toHaveBeenCalledWith(mutateParams);
expect(replaceConfigFileMock).toHaveBeenCalledWith(replaceParams);
});
});