Spaces:
Paused
Paused
| import { describe, expect, it } from "vitest"; | |
| import { isTruthyEnvValue, 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; | |
| } | |
| }); | |
| }); | |
| describe("isTruthyEnvValue", () => { | |
| it("accepts common truthy values", () => { | |
| expect(isTruthyEnvValue("1")).toBe(true); | |
| expect(isTruthyEnvValue("true")).toBe(true); | |
| expect(isTruthyEnvValue(" yes ")).toBe(true); | |
| expect(isTruthyEnvValue("ON")).toBe(true); | |
| }); | |
| it("rejects other values", () => { | |
| expect(isTruthyEnvValue("0")).toBe(false); | |
| expect(isTruthyEnvValue("false")).toBe(false); | |
| expect(isTruthyEnvValue("")).toBe(false); | |
| expect(isTruthyEnvValue(undefined)).toBe(false); | |
| }); | |
| }); | |