test: fix firmware provider test isolation from env vars
This commit is contained in:
parent
9eae669b91
commit
571694e39d
@ -1,11 +1,26 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { describe, expect, it, beforeEach, afterEach } from "vitest";
|
||||
import { resolveImplicitProviders } from "./models-config.providers.js";
|
||||
import { mkdtempSync } from "node:fs";
|
||||
import { join } from "node:path";
|
||||
import { tmpdir } from "node:os";
|
||||
|
||||
describe("Firmware provider", () => {
|
||||
let previousFirmwareKey: string | undefined;
|
||||
|
||||
beforeEach(() => {
|
||||
previousFirmwareKey = process.env.FIRMWARE_API_KEY;
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
if (previousFirmwareKey !== undefined) {
|
||||
process.env.FIRMWARE_API_KEY = previousFirmwareKey;
|
||||
} else {
|
||||
delete process.env.FIRMWARE_API_KEY;
|
||||
}
|
||||
});
|
||||
|
||||
it("should not include firmware when no API key is configured", async () => {
|
||||
delete process.env.FIRMWARE_API_KEY;
|
||||
const agentDir = mkdtempSync(join(tmpdir(), "clawd-test-"));
|
||||
const providers = await resolveImplicitProviders({ agentDir });
|
||||
|
||||
@ -13,11 +28,13 @@ describe("Firmware provider", () => {
|
||||
});
|
||||
|
||||
it("should include firmware when FIRMWARE_API_KEY env var is set", async () => {
|
||||
process.env.FIRMWARE_API_KEY = "test-firmware-key";
|
||||
const agentDir = mkdtempSync(join(tmpdir(), "clawd-test-"));
|
||||
const providers = await resolveImplicitProviders({ agentDir });
|
||||
|
||||
// This test would need to be run with FIRMWARE_API_KEY env var set
|
||||
// For now we're just checking the provider structure is correct
|
||||
expect(providers).toBeDefined();
|
||||
expect(providers?.firmware).toBeDefined();
|
||||
expect(providers?.firmware?.baseUrl).toBe("https://app.firmware.ai/api/v1");
|
||||
expect(providers?.firmware?.api).toBe("openai-completions");
|
||||
expect(providers?.firmware?.models?.length).toBeGreaterThan(0);
|
||||
});
|
||||
});
|
||||
|
||||
@ -54,6 +54,7 @@ describe("models-config", () => {
|
||||
const previousSynthetic = process.env.SYNTHETIC_API_KEY;
|
||||
const previousVenice = process.env.VENICE_API_KEY;
|
||||
const previousXiaomi = process.env.XIAOMI_API_KEY;
|
||||
const previousFirmware = process.env.FIRMWARE_API_KEY;
|
||||
delete process.env.COPILOT_GITHUB_TOKEN;
|
||||
delete process.env.GH_TOKEN;
|
||||
delete process.env.GITHUB_TOKEN;
|
||||
@ -63,6 +64,7 @@ describe("models-config", () => {
|
||||
delete process.env.SYNTHETIC_API_KEY;
|
||||
delete process.env.VENICE_API_KEY;
|
||||
delete process.env.XIAOMI_API_KEY;
|
||||
delete process.env.FIRMWARE_API_KEY;
|
||||
|
||||
try {
|
||||
vi.resetModules();
|
||||
@ -97,6 +99,8 @@ describe("models-config", () => {
|
||||
else process.env.VENICE_API_KEY = previousVenice;
|
||||
if (previousXiaomi === undefined) delete process.env.XIAOMI_API_KEY;
|
||||
else process.env.XIAOMI_API_KEY = previousXiaomi;
|
||||
if (previousFirmware === undefined) delete process.env.FIRMWARE_API_KEY;
|
||||
else process.env.FIRMWARE_API_KEY = previousFirmware;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user