


















@@ -0,0 +1,83 @@
1+import { beforeEach, describe, expect, it, vi } from "vitest";
2+import { resolveEnvApiKey } from "./model-auth-env.js";
3+4+const pluginMetadataMocks = vi.hoisted(() => {
5+const snapshot = {
6+index: {
7+plugins: [
8+{
9+pluginId: "external-cloud",
10+origin: "global",
11+enabled: true,
12+enabledByDefault: true,
13+},
14+],
15+},
16+plugins: [
17+{
18+id: "external-cloud",
19+origin: "global",
20+providerAuthAliases: {
21+"cloud-alias": "external-cloud",
22+},
23+providerAuthEnvVars: {
24+"external-cloud": ["EXTERNAL_CLOUD_API_KEY"],
25+},
26+},
27+],
28+};
29+return {
30+ snapshot,
31+getCurrentPluginMetadataSnapshot: vi.fn(() => snapshot),
32+loadPluginMetadataSnapshot: vi.fn(() => snapshot),
33+};
34+});
35+36+vi.mock("../plugins/current-plugin-metadata-snapshot.js", () => ({
37+getCurrentPluginMetadataSnapshot: pluginMetadataMocks.getCurrentPluginMetadataSnapshot,
38+}));
39+40+vi.mock("../plugins/plugin-metadata-snapshot.js", () => ({
41+loadPluginMetadataSnapshot: pluginMetadataMocks.loadPluginMetadataSnapshot,
42+}));
43+44+vi.mock("../plugins/setup-registry.js", () => ({
45+resolvePluginSetupProvider: () => undefined,
46+}));
47+48+describe("resolveEnvApiKey provider auth aliases", () => {
49+beforeEach(() => {
50+pluginMetadataMocks.getCurrentPluginMetadataSnapshot.mockReset();
51+pluginMetadataMocks.getCurrentPluginMetadataSnapshot.mockReturnValue(
52+pluginMetadataMocks.snapshot,
53+);
54+pluginMetadataMocks.loadPluginMetadataSnapshot.mockReset();
55+pluginMetadataMocks.loadPluginMetadataSnapshot.mockReturnValue(pluginMetadataMocks.snapshot);
56+});
57+58+it("reuses the current scoped metadata snapshot while resolving provider auth aliases", () => {
59+expect(
60+resolveEnvApiKey(
61+"cloud-alias",
62+{
63+EXTERNAL_CLOUD_API_KEY: "secret",
64+} as NodeJS.ProcessEnv,
65+{
66+config: {},
67+workspaceDir: "/workspace",
68+},
69+),
70+).toEqual({
71+apiKey: "secret",
72+source: "env: EXTERNAL_CLOUD_API_KEY",
73+});
74+expect(pluginMetadataMocks.loadPluginMetadataSnapshot).not.toHaveBeenCalled();
75+expect(pluginMetadataMocks.getCurrentPluginMetadataSnapshot).toHaveBeenCalledWith({
76+config: {},
77+env: {
78+EXTERNAL_CLOUD_API_KEY: "secret",
79+},
80+workspaceDir: "/workspace",
81+});
82+});
83+});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。