46
packages/ai/test/env-api-keys.test.ts
Normal file
46
packages/ai/test/env-api-keys.test.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
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");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user