





















@@ -0,0 +1,59 @@
1+import { describe, expect, it, vi } from "vitest";
2+3+const resolveProviderRuntimePlugin = vi.hoisted(() => vi.fn(() => undefined));
4+const resolvePluginDiscoveryProvidersRuntime = vi.hoisted(() =>
5+ vi.fn(() => [
6+ {
7+ id: "anthropic-vertex",
8+ label: "Anthropic Vertex",
9+ auth: [],
10+ resolveSyntheticAuth: () => ({
11+ apiKey: "gcp-vertex-credentials",
12+ source: "gcp-vertex-credentials (ADC)",
13+ mode: "api-key" as const,
14+ }),
15+ },
16+ ]),
17+);
18+19+vi.mock("./provider-hook-runtime.js", async (importOriginal) => {
20+ const actual = await importOriginal<typeof import("./provider-hook-runtime.js")>();
21+ return {
22+ ...actual,
23+ __testing: {},
24+ clearProviderRuntimeHookCache: vi.fn(),
25+ prepareProviderExtraParams: vi.fn(),
26+ resetProviderRuntimeHookCacheForTest: vi.fn(),
27+ resolveProviderHookPlugin: vi.fn(),
28+ resolveProviderPluginsForHooks: vi.fn(() => []),
29+ resolveProviderRuntimePlugin,
30+ wrapProviderStreamFn: vi.fn(),
31+ };
32+});
33+34+vi.mock("./provider-discovery.runtime.js", () => ({
35+ resolvePluginDiscoveryProvidersRuntime,
36+}));
37+38+import { resolveProviderSyntheticAuthWithPlugin } from "./provider-runtime.js";
39+40+describe("resolveProviderSyntheticAuthWithPlugin", () => {
41+ it("falls back to lightweight discovery providers when runtime hooks are unavailable", () => {
42+ expect(
43+ resolveProviderSyntheticAuthWithPlugin({
44+ provider: "anthropic-vertex",
45+ context: {
46+ config: undefined,
47+ provider: "anthropic-vertex",
48+ providerConfig: undefined,
49+ },
50+ }),
51+ ).toEqual({
52+ apiKey: "gcp-vertex-credentials",
53+ source: "gcp-vertex-credentials (ADC)",
54+ mode: "api-key",
55+ });
56+ expect(resolveProviderRuntimePlugin).toHaveBeenCalled();
57+ expect(resolvePluginDiscoveryProvidersRuntime).toHaveBeenCalled();
58+ });
59+});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。