mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-16 20:40:45 +00:00
78 lines
3.0 KiB
TypeScript
78 lines
3.0 KiB
TypeScript
import { mkdtempSync } from "node:fs";
|
|
import { tmpdir } from "node:os";
|
|
import { join } from "node:path";
|
|
import { describe, expect, it } from "vitest";
|
|
import { captureEnv } from "../test-utils/env.js";
|
|
import { upsertAuthProfile } from "./auth-profiles.js";
|
|
import { resolveImplicitProvidersForTest } from "./models-config.e2e-harness.js";
|
|
|
|
describe("Volcengine and BytePlus providers", () => {
|
|
it("includes volcengine and volcengine-plan when VOLCANO_ENGINE_API_KEY is configured", async () => {
|
|
const agentDir = mkdtempSync(join(tmpdir(), "openclaw-test-"));
|
|
const envSnapshot = captureEnv(["VOLCANO_ENGINE_API_KEY"]);
|
|
process.env.VOLCANO_ENGINE_API_KEY = "test-key"; // pragma: allowlist secret
|
|
|
|
try {
|
|
const providers = await resolveImplicitProvidersForTest({ agentDir });
|
|
expect(providers?.volcengine).toBeDefined();
|
|
expect(providers?.["volcengine-plan"]).toBeDefined();
|
|
expect(providers?.volcengine?.apiKey).toBe("VOLCANO_ENGINE_API_KEY");
|
|
expect(providers?.["volcengine-plan"]?.apiKey).toBe("VOLCANO_ENGINE_API_KEY");
|
|
} finally {
|
|
envSnapshot.restore();
|
|
}
|
|
});
|
|
|
|
it("includes byteplus and byteplus-plan when BYTEPLUS_API_KEY is configured", async () => {
|
|
const agentDir = mkdtempSync(join(tmpdir(), "openclaw-test-"));
|
|
const envSnapshot = captureEnv(["BYTEPLUS_API_KEY"]);
|
|
process.env.BYTEPLUS_API_KEY = "test-key"; // pragma: allowlist secret
|
|
|
|
try {
|
|
const providers = await resolveImplicitProvidersForTest({ agentDir });
|
|
expect(providers?.byteplus).toBeDefined();
|
|
expect(providers?.["byteplus-plan"]).toBeDefined();
|
|
expect(providers?.byteplus?.apiKey).toBe("BYTEPLUS_API_KEY");
|
|
expect(providers?.["byteplus-plan"]?.apiKey).toBe("BYTEPLUS_API_KEY");
|
|
} finally {
|
|
envSnapshot.restore();
|
|
}
|
|
});
|
|
|
|
it("includes providers when auth profiles are env keyRef-only", async () => {
|
|
const agentDir = mkdtempSync(join(tmpdir(), "openclaw-test-"));
|
|
const envSnapshot = captureEnv(["VOLCANO_ENGINE_API_KEY", "BYTEPLUS_API_KEY"]);
|
|
delete process.env.VOLCANO_ENGINE_API_KEY;
|
|
delete process.env.BYTEPLUS_API_KEY;
|
|
|
|
upsertAuthProfile({
|
|
profileId: "volcengine:default",
|
|
credential: {
|
|
type: "api_key",
|
|
provider: "volcengine",
|
|
keyRef: { source: "env", provider: "default", id: "VOLCANO_ENGINE_API_KEY" },
|
|
},
|
|
agentDir,
|
|
});
|
|
upsertAuthProfile({
|
|
profileId: "byteplus:default",
|
|
credential: {
|
|
type: "api_key",
|
|
provider: "byteplus",
|
|
keyRef: { source: "env", provider: "default", id: "BYTEPLUS_API_KEY" },
|
|
},
|
|
agentDir,
|
|
});
|
|
|
|
try {
|
|
const providers = await resolveImplicitProvidersForTest({ agentDir });
|
|
expect(providers?.volcengine?.apiKey).toBe("VOLCANO_ENGINE_API_KEY");
|
|
expect(providers?.["volcengine-plan"]?.apiKey).toBe("VOLCANO_ENGINE_API_KEY");
|
|
expect(providers?.byteplus?.apiKey).toBe("BYTEPLUS_API_KEY");
|
|
expect(providers?.["byteplus-plan"]?.apiKey).toBe("BYTEPLUS_API_KEY");
|
|
} finally {
|
|
envSnapshot.restore();
|
|
}
|
|
});
|
|
});
|