diff --git a/src/gateway/gateway.e2e.test.ts b/src/gateway/gateway.e2e.test.ts index ec6e8340f..c106027a1 100644 --- a/src/gateway/gateway.e2e.test.ts +++ b/src/gateway/gateway.e2e.test.ts @@ -3,6 +3,7 @@ import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; import { describe, expect, it } from "vitest"; +import { captureEnv } from "../test-utils/env.js"; import { startGatewayServer } from "./server.js"; import { extractPayloadText } from "./test-helpers.agent-results.js"; import { @@ -19,16 +20,16 @@ describe("gateway e2e", () => { "runs a mock OpenAI tool call end-to-end via gateway agent loop", { timeout: 90_000 }, async () => { - const prev = { - home: process.env.HOME, - configPath: process.env.OPENCLAW_CONFIG_PATH, - token: process.env.OPENCLAW_GATEWAY_TOKEN, - skipChannels: process.env.OPENCLAW_SKIP_CHANNELS, - skipGmail: process.env.OPENCLAW_SKIP_GMAIL_WATCHER, - skipCron: process.env.OPENCLAW_SKIP_CRON, - skipCanvas: process.env.OPENCLAW_SKIP_CANVAS_HOST, - skipBrowser: process.env.OPENCLAW_SKIP_BROWSER_CONTROL_SERVER, - }; + const envSnapshot = captureEnv([ + "HOME", + "OPENCLAW_CONFIG_PATH", + "OPENCLAW_GATEWAY_TOKEN", + "OPENCLAW_SKIP_CHANNELS", + "OPENCLAW_SKIP_GMAIL_WATCHER", + "OPENCLAW_SKIP_CRON", + "OPENCLAW_SKIP_CANVAS_HOST", + "OPENCLAW_SKIP_BROWSER_CONTROL_SERVER", + ]); const { baseUrl: openaiBaseUrl, restore } = installOpenAiResponsesMock(); @@ -107,30 +108,23 @@ describe("gateway e2e", () => { await server.close({ reason: "mock openai test complete" }); await fs.rm(tempHome, { recursive: true, force: true }); restore(); - process.env.HOME = prev.home; - process.env.OPENCLAW_CONFIG_PATH = prev.configPath; - process.env.OPENCLAW_GATEWAY_TOKEN = prev.token; - process.env.OPENCLAW_SKIP_CHANNELS = prev.skipChannels; - process.env.OPENCLAW_SKIP_GMAIL_WATCHER = prev.skipGmail; - process.env.OPENCLAW_SKIP_CRON = prev.skipCron; - process.env.OPENCLAW_SKIP_CANVAS_HOST = prev.skipCanvas; - process.env.OPENCLAW_SKIP_BROWSER_CONTROL_SERVER = prev.skipBrowser; + envSnapshot.restore(); } }, ); it("runs wizard over ws and writes auth token config", { timeout: 90_000 }, async () => { - const prev = { - home: process.env.HOME, - stateDir: process.env.OPENCLAW_STATE_DIR, - configPath: process.env.OPENCLAW_CONFIG_PATH, - token: process.env.OPENCLAW_GATEWAY_TOKEN, - skipChannels: process.env.OPENCLAW_SKIP_CHANNELS, - skipGmail: process.env.OPENCLAW_SKIP_GMAIL_WATCHER, - skipCron: process.env.OPENCLAW_SKIP_CRON, - skipCanvas: process.env.OPENCLAW_SKIP_CANVAS_HOST, - skipBrowser: process.env.OPENCLAW_SKIP_BROWSER_CONTROL_SERVER, - }; + const envSnapshot = captureEnv([ + "HOME", + "OPENCLAW_STATE_DIR", + "OPENCLAW_CONFIG_PATH", + "OPENCLAW_GATEWAY_TOKEN", + "OPENCLAW_SKIP_CHANNELS", + "OPENCLAW_SKIP_GMAIL_WATCHER", + "OPENCLAW_SKIP_CRON", + "OPENCLAW_SKIP_CANVAS_HOST", + "OPENCLAW_SKIP_BROWSER_CONTROL_SERVER", + ]); process.env.OPENCLAW_SKIP_CHANNELS = "1"; process.env.OPENCLAW_SKIP_GMAIL_WATCHER = "1"; @@ -233,15 +227,7 @@ describe("gateway e2e", () => { } finally { await server2.close({ reason: "wizard auth verify" }); await fs.rm(tempHome, { recursive: true, force: true }); - process.env.HOME = prev.home; - process.env.OPENCLAW_STATE_DIR = prev.stateDir; - process.env.OPENCLAW_CONFIG_PATH = prev.configPath; - process.env.OPENCLAW_GATEWAY_TOKEN = prev.token; - process.env.OPENCLAW_SKIP_CHANNELS = prev.skipChannels; - process.env.OPENCLAW_SKIP_GMAIL_WATCHER = prev.skipGmail; - process.env.OPENCLAW_SKIP_CRON = prev.skipCron; - process.env.OPENCLAW_SKIP_CANVAS_HOST = prev.skipCanvas; - process.env.OPENCLAW_SKIP_BROWSER_CONTROL_SERVER = prev.skipBrowser; + envSnapshot.restore(); } }); });