mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-29 18:12:52 +00:00
53 lines
2.0 KiB
TypeScript
53 lines
2.0 KiB
TypeScript
import type { resolveProviderHttpRequestConfig } from "openclaw/plugin-sdk/provider-http";
|
|
import { afterEach, vi } from "vitest";
|
|
|
|
type ResolveProviderHttpRequestConfigParams = Parameters<
|
|
typeof resolveProviderHttpRequestConfig
|
|
>[0];
|
|
|
|
const minimaxProviderHttpMocks = 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: minimaxProviderHttpMocks.resolveApiKeyForProviderMock,
|
|
}));
|
|
|
|
vi.mock("openclaw/plugin-sdk/provider-http", () => ({
|
|
assertOkOrThrowHttpError: minimaxProviderHttpMocks.assertOkOrThrowHttpErrorMock,
|
|
fetchWithTimeout: minimaxProviderHttpMocks.fetchWithTimeoutMock,
|
|
postJsonRequest: minimaxProviderHttpMocks.postJsonRequestMock,
|
|
resolveProviderHttpRequestConfig: minimaxProviderHttpMocks.resolveProviderHttpRequestConfigMock,
|
|
}));
|
|
|
|
export function getMinimaxProviderHttpMocks() {
|
|
return minimaxProviderHttpMocks;
|
|
}
|
|
|
|
export function installMinimaxProviderHttpMockCleanup(): void {
|
|
afterEach(() => {
|
|
minimaxProviderHttpMocks.resolveApiKeyForProviderMock.mockClear();
|
|
minimaxProviderHttpMocks.postJsonRequestMock.mockReset();
|
|
minimaxProviderHttpMocks.fetchWithTimeoutMock.mockReset();
|
|
minimaxProviderHttpMocks.assertOkOrThrowHttpErrorMock.mockClear();
|
|
minimaxProviderHttpMocks.resolveProviderHttpRequestConfigMock.mockClear();
|
|
});
|
|
}
|
|
|
|
export function loadMinimaxMusicGenerationProviderModule() {
|
|
return import("./music-generation-provider.js");
|
|
}
|
|
|
|
export function loadMinimaxVideoGenerationProviderModule() {
|
|
return import("./video-generation-provider.js");
|
|
}
|