* fix(models): antigravity opus 4.6 availability follow-up * chore(format): apply updated oxfmt config to models files * fix(models): retain zai glm-5 forward-compat fallback after extraction * chore(format): apply updated oxfmt config * fix(models): fail fast on unknown auth login provider --------- Co-authored-by: Peter Steinberger <steipete@gmail.com>
49 lines
1.7 KiB
TypeScript
49 lines
1.7 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import type { ProviderPlugin } from "../plugins/types.js";
|
|
import { resolveRequestedLoginProviderOrThrow } from "./models/auth.js";
|
|
|
|
function makeProvider(params: { id: string; label?: string; aliases?: string[] }): ProviderPlugin {
|
|
return {
|
|
id: params.id,
|
|
label: params.label ?? params.id,
|
|
aliases: params.aliases,
|
|
auth: [],
|
|
};
|
|
}
|
|
|
|
describe("resolveRequestedLoginProviderOrThrow", () => {
|
|
it("returns null when no provider was requested", () => {
|
|
const providers = [makeProvider({ id: "google-antigravity" })];
|
|
const result = resolveRequestedLoginProviderOrThrow(providers, undefined);
|
|
expect(result).toBeNull();
|
|
});
|
|
|
|
it("resolves requested provider by id", () => {
|
|
const providers = [
|
|
makeProvider({ id: "google-antigravity" }),
|
|
makeProvider({ id: "google-gemini-cli" }),
|
|
];
|
|
const result = resolveRequestedLoginProviderOrThrow(providers, "google-antigravity");
|
|
expect(result?.id).toBe("google-antigravity");
|
|
});
|
|
|
|
it("resolves requested provider by alias", () => {
|
|
const providers = [makeProvider({ id: "google-antigravity", aliases: ["antigravity"] })];
|
|
const result = resolveRequestedLoginProviderOrThrow(providers, "antigravity");
|
|
expect(result?.id).toBe("google-antigravity");
|
|
});
|
|
|
|
it("throws when requested provider is not loaded", () => {
|
|
const providers = [
|
|
makeProvider({ id: "google-gemini-cli" }),
|
|
makeProvider({ id: "qwen-portal" }),
|
|
];
|
|
|
|
expect(() =>
|
|
resolveRequestedLoginProviderOrThrow(providers, "google-antigravity"),
|
|
).toThrowError(
|
|
'Unknown provider "google-antigravity". Loaded providers: google-gemini-cli, qwen-portal. Verify plugins via `openclaw plugins list --json`.',
|
|
);
|
|
});
|
|
});
|