mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-16 00:40:49 +08:00
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。 Made-with: Cursor
57 lines
2 KiB
TypeScript
57 lines
2 KiB
TypeScript
import type { resolveProviderHttpRequestConfig } from "openclaw/plugin-sdk/provider-http";
|
|
import { afterEach, vi } from "vitest";
|
|
|
|
type ResolveProviderHttpRequestConfigParams = Parameters<
|
|
typeof resolveProviderHttpRequestConfig
|
|
>[0];
|
|
|
|
const providerHttpMocks = vi.hoisted(() => ({
|
|
resolveApiKeyForProviderMock: vi.fn(async () => ({ apiKey: "provider-key" })),
|
|
postJsonRequestMock: vi.fn(),
|
|
fetchWithTimeoutMock: vi.fn(),
|
|
assertOkOrThrowHttpErrorMock: vi.fn(async () => {}),
|
|
resolveProviderHttpRequestConfigMock: vi.fn((params: ResolveProviderHttpRequestConfigParams) => ({
|
|
baseUrl: params.baseUrl ?? params.defaultBaseUrl,
|
|
allowPrivateNetwork: false,
|
|
headers: new Headers(params.defaultHeaders),
|
|
dispatcherPolicy: undefined,
|
|
})),
|
|
}));
|
|
|
|
vi.mock("openclaw/plugin-sdk/provider-auth-runtime", () => ({
|
|
resolveApiKeyForProvider: providerHttpMocks.resolveApiKeyForProviderMock,
|
|
}));
|
|
|
|
vi.mock("openclaw/plugin-sdk/provider-http", () => ({
|
|
assertOkOrThrowHttpError: providerHttpMocks.assertOkOrThrowHttpErrorMock,
|
|
createProviderOperationDeadline: ({
|
|
label,
|
|
timeoutMs,
|
|
}: {
|
|
label: string;
|
|
timeoutMs?: number;
|
|
}) => ({
|
|
label,
|
|
timeoutMs,
|
|
}),
|
|
fetchWithTimeout: providerHttpMocks.fetchWithTimeoutMock,
|
|
postJsonRequest: providerHttpMocks.postJsonRequestMock,
|
|
resolveProviderOperationTimeoutMs: ({ defaultTimeoutMs }: { defaultTimeoutMs: number }) =>
|
|
defaultTimeoutMs,
|
|
resolveProviderHttpRequestConfig: providerHttpMocks.resolveProviderHttpRequestConfigMock,
|
|
waitProviderOperationPollInterval: async () => {},
|
|
}));
|
|
|
|
export function getProviderHttpMocks() {
|
|
return providerHttpMocks;
|
|
}
|
|
|
|
export function installProviderHttpMockCleanup(): void {
|
|
afterEach(() => {
|
|
providerHttpMocks.resolveApiKeyForProviderMock.mockClear();
|
|
providerHttpMocks.postJsonRequestMock.mockReset();
|
|
providerHttpMocks.fetchWithTimeoutMock.mockReset();
|
|
providerHttpMocks.assertOkOrThrowHttpErrorMock.mockClear();
|
|
providerHttpMocks.resolveProviderHttpRequestConfigMock.mockClear();
|
|
});
|
|
}
|