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 { resolveImplicitProviders } from "./models-config.providers.js";
|
||||||
import { mkdtempSync } from "node:fs";
|
import { mkdtempSync } from "node:fs";
|
||||||
import { join } from "node:path";
|
import { join } from "node:path";
|
||||||
import { tmpdir } from "node:os";
|
import { tmpdir } from "node:os";
|
||||||
|
|
||||||
describe("Firmware provider", () => {
|
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 () => {
|
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 agentDir = mkdtempSync(join(tmpdir(), "clawd-test-"));
|
||||||
const providers = await resolveImplicitProviders({ agentDir });
|
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 () => {
|
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 agentDir = mkdtempSync(join(tmpdir(), "clawd-test-"));
|
||||||
const providers = await resolveImplicitProviders({ agentDir });
|
const providers = await resolveImplicitProviders({ agentDir });
|
||||||
|
|
||||||
// This test would need to be run with FIRMWARE_API_KEY env var set
|
expect(providers?.firmware).toBeDefined();
|
||||||
// For now we're just checking the provider structure is correct
|
expect(providers?.firmware?.baseUrl).toBe("https://app.firmware.ai/api/v1");
|
||||||
expect(providers).toBeDefined();
|
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 previousSynthetic = process.env.SYNTHETIC_API_KEY;
|
||||||
const previousVenice = process.env.VENICE_API_KEY;
|
const previousVenice = process.env.VENICE_API_KEY;
|
||||||
const previousXiaomi = process.env.XIAOMI_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.COPILOT_GITHUB_TOKEN;
|
||||||
delete process.env.GH_TOKEN;
|
delete process.env.GH_TOKEN;
|
||||||
delete process.env.GITHUB_TOKEN;
|
delete process.env.GITHUB_TOKEN;
|
||||||
@ -63,6 +64,7 @@ describe("models-config", () => {
|
|||||||
delete process.env.SYNTHETIC_API_KEY;
|
delete process.env.SYNTHETIC_API_KEY;
|
||||||
delete process.env.VENICE_API_KEY;
|
delete process.env.VENICE_API_KEY;
|
||||||
delete process.env.XIAOMI_API_KEY;
|
delete process.env.XIAOMI_API_KEY;
|
||||||
|
delete process.env.FIRMWARE_API_KEY;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
vi.resetModules();
|
vi.resetModules();
|
||||||
@ -97,6 +99,8 @@ describe("models-config", () => {
|
|||||||
else process.env.VENICE_API_KEY = previousVenice;
|
else process.env.VENICE_API_KEY = previousVenice;
|
||||||
if (previousXiaomi === undefined) delete process.env.XIAOMI_API_KEY;
|
if (previousXiaomi === undefined) delete process.env.XIAOMI_API_KEY;
|
||||||
else process.env.XIAOMI_API_KEY = previousXiaomi;
|
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