41 lines
1.4 KiB
TypeScript
41 lines
1.4 KiB
TypeScript
import { test, expect, describe } from "bun:test";
|
|
import { loadConfig } from "../src/config";
|
|
|
|
describe("config", () => {
|
|
test("loadConfig env variables override config file and defaults", async () => {
|
|
const origBase = process.env.GAI_API_BASE;
|
|
const origModel = process.env.GAI_MODEL;
|
|
|
|
process.env.GAI_API_BASE = "https://custom.api.com/v1";
|
|
process.env.GAI_MODEL = "custom-model";
|
|
|
|
const config = await loadConfig();
|
|
|
|
expect(config.apiBase).toBe("https://custom.api.com/v1");
|
|
expect(config.model).toBe("custom-model");
|
|
|
|
if (origBase) process.env.GAI_API_BASE = origBase;
|
|
else delete process.env.GAI_API_BASE;
|
|
if (origModel) process.env.GAI_MODEL = origModel;
|
|
else delete process.env.GAI_MODEL;
|
|
});
|
|
|
|
test("loadConfig reads from environment variables", async () => {
|
|
const origBase = process.env.GAI_API_BASE;
|
|
const origModel = process.env.GAI_MODEL;
|
|
|
|
process.env.GAI_API_BASE = "https://api.deepseek.com/v1";
|
|
process.env.GAI_MODEL = "deepseek-v4-flash";
|
|
|
|
const config = await loadConfig();
|
|
|
|
expect(config.apiBase).toBe("https://api.deepseek.com/v1");
|
|
expect(config.model).toBe("deepseek-v4-flash");
|
|
|
|
if (origBase) process.env.GAI_API_BASE = origBase;
|
|
else delete process.env.GAI_API_BASE;
|
|
if (origModel) process.env.GAI_MODEL = origModel;
|
|
else delete process.env.GAI_MODEL;
|
|
});
|
|
});
|