refactor(runtime): prefer env-backed secrets at runtime
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
import { afterEach, describe, expect, it, vi } from "vitest";
|
||||
import { resolveSystemSettingsRuntime } from "../lib/system-settings-runtime.js";
|
||||
|
||||
describe("system settings runtime resolution", () => {
|
||||
afterEach(() => {
|
||||
vi.unstubAllEnvs();
|
||||
});
|
||||
|
||||
it("prefers OPENAI_API_KEY for direct OpenAI runtime settings", () => {
|
||||
vi.stubEnv("OPENAI_API_KEY", "env-openai-key");
|
||||
vi.stubEnv("AZURE_OPENAI_API_KEY", "env-azure-key");
|
||||
|
||||
const settings = resolveSystemSettingsRuntime({
|
||||
aiProvider: "openai",
|
||||
azureOpenAiApiKey: "db-key",
|
||||
});
|
||||
|
||||
expect(settings.azureOpenAiApiKey).toBe("env-openai-key");
|
||||
});
|
||||
|
||||
it("prefers AZURE_OPENAI_API_KEY for Azure runtime settings", () => {
|
||||
vi.stubEnv("OPENAI_API_KEY", "env-openai-key");
|
||||
vi.stubEnv("AZURE_OPENAI_API_KEY", "env-azure-key");
|
||||
|
||||
const settings = resolveSystemSettingsRuntime({
|
||||
aiProvider: "azure",
|
||||
azureOpenAiApiKey: "db-key",
|
||||
});
|
||||
|
||||
expect(settings.azureOpenAiApiKey).toBe("env-azure-key");
|
||||
});
|
||||
|
||||
it("ignores blank environment overrides", () => {
|
||||
vi.stubEnv("SMTP_PASSWORD", " ");
|
||||
|
||||
const settings = resolveSystemSettingsRuntime({
|
||||
smtpPassword: "db-password",
|
||||
});
|
||||
|
||||
expect(settings.smtpPassword).toBe("db-password");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user