diff --git a/src/agents/models-config.auto-injects-github-copilot-provider-token-is.e2e.test.ts b/src/agents/models-config.auto-injects-github-copilot-provider-token-is.e2e.test.ts index 72309c3e5b4..c5e9ac64369 100644 --- a/src/agents/models-config.auto-injects-github-copilot-provider-token-is.e2e.test.ts +++ b/src/agents/models-config.auto-injects-github-copilot-provider-token-is.e2e.test.ts @@ -1,6 +1,7 @@ import fs from "node:fs/promises"; import path from "node:path"; import { describe, expect, it, vi } from "vitest"; +import { captureEnv } from "../test-utils/env.js"; import { installModelsConfigTestHooks, withModelsTempHome as withTempHome, @@ -12,7 +13,7 @@ installModelsConfigTestHooks({ restoreFetch: true }); describe("models-config", () => { it("auto-injects github-copilot provider when token is present", async () => { await withTempHome(async (home) => { - const previous = process.env.COPILOT_GITHUB_TOKEN; + const envSnapshot = captureEnv(["COPILOT_GITHUB_TOKEN"]); process.env.COPILOT_GITHUB_TOKEN = "gh-token"; const fetchMock = vi.fn().mockResolvedValue({ ok: true, @@ -36,20 +37,14 @@ describe("models-config", () => { expect(parsed.providers["github-copilot"]?.baseUrl).toBe("https://api.copilot.example"); expect(parsed.providers["github-copilot"]?.models?.length ?? 0).toBe(0); } finally { - if (previous === undefined) { - delete process.env.COPILOT_GITHUB_TOKEN; - } else { - process.env.COPILOT_GITHUB_TOKEN = previous; - } + envSnapshot.restore(); } }); }); it("prefers COPILOT_GITHUB_TOKEN over GH_TOKEN and GITHUB_TOKEN", async () => { await withTempHome(async () => { - const previous = process.env.COPILOT_GITHUB_TOKEN; - const previousGh = process.env.GH_TOKEN; - const previousGithub = process.env.GITHUB_TOKEN; + const envSnapshot = captureEnv(["COPILOT_GITHUB_TOKEN", "GH_TOKEN", "GITHUB_TOKEN"]); process.env.COPILOT_GITHUB_TOKEN = "copilot-token"; process.env.GH_TOKEN = "gh-token"; process.env.GITHUB_TOKEN = "github-token"; @@ -70,9 +65,7 @@ describe("models-config", () => { const [, opts] = fetchMock.mock.calls[0] as [string, { headers?: Record }]; expect(opts?.headers?.Authorization).toBe("Bearer copilot-token"); } finally { - process.env.COPILOT_GITHUB_TOKEN = previous; - process.env.GH_TOKEN = previousGh; - process.env.GITHUB_TOKEN = previousGithub; + envSnapshot.restore(); } }); });