pi-mono/packages/ai/test/env-api-keys.test.ts
Mario Zechner a8af0b5e99
Some checks failed
CI / build-check-test (push) Has been cancelled
fix(ai): ignore generic GitHub tokens for Copilot auth
closes #4485
2026-05-15 01:26:31 +02:00

46 lines
1.5 KiB
TypeScript

import { afterEach, describe, expect, it } from "vitest";
import { findEnvKeys, getEnvApiKey } from "../src/env-api-keys.js";
const originalCopilotGitHubToken = process.env.COPILOT_GITHUB_TOKEN;
const originalGhToken = process.env.GH_TOKEN;
const originalGitHubToken = process.env.GITHUB_TOKEN;
afterEach(() => {
if (originalCopilotGitHubToken === undefined) {
delete process.env.COPILOT_GITHUB_TOKEN;
} else {
process.env.COPILOT_GITHUB_TOKEN = originalCopilotGitHubToken;
}
if (originalGhToken === undefined) {
delete process.env.GH_TOKEN;
} else {
process.env.GH_TOKEN = originalGhToken;
}
if (originalGitHubToken === undefined) {
delete process.env.GITHUB_TOKEN;
} else {
process.env.GITHUB_TOKEN = originalGitHubToken;
}
});
describe("environment API keys", () => {
it("does not treat generic GitHub tokens as GitHub Copilot credentials", () => {
delete process.env.COPILOT_GITHUB_TOKEN;
process.env.GH_TOKEN = "gh-token";
process.env.GITHUB_TOKEN = "github-token";
expect(findEnvKeys("github-copilot")).toBeUndefined();
expect(getEnvApiKey("github-copilot")).toBeUndefined();
});
it("resolves GitHub Copilot credentials from COPILOT_GITHUB_TOKEN", () => {
process.env.COPILOT_GITHUB_TOKEN = "copilot-token";
process.env.GH_TOKEN = "gh-token";
process.env.GITHUB_TOKEN = "github-token";
expect(findEnvKeys("github-copilot")).toEqual(["COPILOT_GITHUB_TOKEN"]);
expect(getEnvApiKey("github-copilot")).toBe("copilot-token");
});
});