mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-09 00:38:28 +00:00
test(commands): collapse provider and endpoint matrices
This commit is contained in:
@@ -12,35 +12,31 @@ function makeProvider(params: { id: string; label?: string; aliases?: string[] }
|
||||
}
|
||||
|
||||
describe("resolveRequestedLoginProviderOrThrow", () => {
|
||||
it("returns null when no provider was requested", () => {
|
||||
const providers = [makeProvider({ id: "google-gemini-cli" })];
|
||||
const result = resolveRequestedLoginProviderOrThrow(providers, undefined);
|
||||
expect(result).toBeNull();
|
||||
});
|
||||
|
||||
it("resolves requested provider by id", () => {
|
||||
it("returns null and resolves provider by id/alias", () => {
|
||||
const providers = [
|
||||
makeProvider({ id: "google-gemini-cli" }),
|
||||
makeProvider({ id: "google-gemini-cli", aliases: ["gemini-cli"] }),
|
||||
makeProvider({ id: "qwen-portal" }),
|
||||
];
|
||||
const result = resolveRequestedLoginProviderOrThrow(providers, "google-gemini-cli");
|
||||
expect(result?.id).toBe("google-gemini-cli");
|
||||
});
|
||||
const scenarios = [
|
||||
{ requested: undefined, expectedId: null },
|
||||
{ requested: "google-gemini-cli", expectedId: "google-gemini-cli" },
|
||||
{ requested: "gemini-cli", expectedId: "google-gemini-cli" },
|
||||
] as const;
|
||||
|
||||
it("resolves requested provider by alias", () => {
|
||||
const providers = [makeProvider({ id: "google-gemini-cli", aliases: ["gemini-cli"] })];
|
||||
const result = resolveRequestedLoginProviderOrThrow(providers, "gemini-cli");
|
||||
expect(result?.id).toBe("google-gemini-cli");
|
||||
for (const scenario of scenarios) {
|
||||
const result = resolveRequestedLoginProviderOrThrow(providers, scenario.requested);
|
||||
expect(result?.id ?? null).toBe(scenario.expectedId);
|
||||
}
|
||||
});
|
||||
|
||||
it("throws when requested provider is not loaded", () => {
|
||||
const providers = [
|
||||
const loadedProviders = [
|
||||
makeProvider({ id: "google-gemini-cli" }),
|
||||
makeProvider({ id: "qwen-portal" }),
|
||||
];
|
||||
|
||||
expect(() =>
|
||||
resolveRequestedLoginProviderOrThrow(providers, "google-antigravity"),
|
||||
resolveRequestedLoginProviderOrThrow(loadedProviders, "google-antigravity"),
|
||||
).toThrowError(
|
||||
'Unknown provider "google-antigravity". Loaded providers: google-gemini-cli, qwen-portal. Verify plugins via `openclaw plugins list --json`.',
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user