feat: add Z.AI env support and live test

This commit is contained in:
Peter Steinberger
2025-12-31 11:36:57 +01:00
parent 4bdc25d072
commit 21237dae98
6 changed files with 83 additions and 0 deletions

37
src/infra/env.test.ts Normal file
View File

@@ -0,0 +1,37 @@
import { describe, expect, it } from "vitest";
import { normalizeZaiEnv } from "./env.js";
describe("normalizeZaiEnv", () => {
it("copies Z_AI_API_KEY to ZAI_API_KEY when missing", () => {
const prevZai = process.env.ZAI_API_KEY;
const prevZAi = process.env.Z_AI_API_KEY;
process.env.ZAI_API_KEY = "";
process.env.Z_AI_API_KEY = "zai-legacy";
normalizeZaiEnv();
expect(process.env.ZAI_API_KEY).toBe("zai-legacy");
if (prevZai === undefined) delete process.env.ZAI_API_KEY;
else process.env.ZAI_API_KEY = prevZai;
if (prevZAi === undefined) delete process.env.Z_AI_API_KEY;
else process.env.Z_AI_API_KEY = prevZAi;
});
it("does not override existing ZAI_API_KEY", () => {
const prevZai = process.env.ZAI_API_KEY;
const prevZAi = process.env.Z_AI_API_KEY;
process.env.ZAI_API_KEY = "zai-current";
process.env.Z_AI_API_KEY = "zai-legacy";
normalizeZaiEnv();
expect(process.env.ZAI_API_KEY).toBe("zai-current");
if (prevZai === undefined) delete process.env.ZAI_API_KEY;
else process.env.ZAI_API_KEY = prevZai;
if (prevZAi === undefined) delete process.env.Z_AI_API_KEY;
else process.env.Z_AI_API_KEY = prevZAi;
});
});