mirror of
https://github.com/moltbot/moltbot.git
synced 2026-04-26 07:57:40 +00:00
test(providers): share onboard merge assertions
This commit is contained in:
@@ -4,7 +4,11 @@ import {
|
||||
} from "openclaw/plugin-sdk/provider-onboard";
|
||||
import { expect } from "vitest";
|
||||
import type { OpenClawConfig } from "../../../src/config/config.js";
|
||||
import { createConfigWithFallbacks, EXPECTED_FALLBACKS } from "./onboard-config.js";
|
||||
import {
|
||||
createConfigWithFallbacks,
|
||||
createLegacyProviderConfig,
|
||||
EXPECTED_FALLBACKS,
|
||||
} from "./onboard-config.js";
|
||||
|
||||
export function expectProviderOnboardAllowlistAlias(params: {
|
||||
applyProviderConfig: (config: OpenClawConfig) => OpenClawConfig;
|
||||
@@ -38,3 +42,38 @@ export function expectProviderOnboardPrimaryAndFallbacks(params: {
|
||||
...EXPECTED_FALLBACKS,
|
||||
]);
|
||||
}
|
||||
|
||||
export function expectProviderOnboardMergedLegacyConfig(params: {
|
||||
applyProviderConfig: (config: OpenClawConfig) => OpenClawConfig;
|
||||
providerId: string;
|
||||
providerApi: OpenClawConfig["models"] extends { providers?: infer P }
|
||||
? P extends Record<string, infer Provider>
|
||||
? Provider extends { api?: infer Api }
|
||||
? Api
|
||||
: never
|
||||
: never
|
||||
: never;
|
||||
baseUrl: string;
|
||||
legacyApi: Parameters<typeof createLegacyProviderConfig>[0]["api"];
|
||||
legacyModelId?: string;
|
||||
legacyModelName?: string;
|
||||
legacyBaseUrl?: string;
|
||||
legacyApiKey?: string;
|
||||
}) {
|
||||
const cfg = params.applyProviderConfig(
|
||||
createLegacyProviderConfig({
|
||||
providerId: params.providerId,
|
||||
api: params.legacyApi,
|
||||
modelId: params.legacyModelId,
|
||||
modelName: params.legacyModelName,
|
||||
baseUrl: params.legacyBaseUrl,
|
||||
apiKey: params.legacyApiKey,
|
||||
}),
|
||||
);
|
||||
|
||||
const provider = cfg.models?.providers?.[params.providerId];
|
||||
expect(provider?.baseUrl).toBe(params.baseUrl);
|
||||
expect(provider?.api).toBe(params.providerApi);
|
||||
expect(provider?.apiKey).toBe((params.legacyApiKey ?? "old-key").trim());
|
||||
return provider;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user