From 4b9fa4e45787950c73d6b9792d8e1bf2c25a7f5b Mon Sep 17 00:00:00 2001 From: Tam Nhu Tran Date: Fri, 10 Apr 2026 23:19:49 -0400 Subject: [PATCH] test(cliproxy): isolate session tracker config env --- .../unit/cliproxy/session-tracker-port.test.js | 17 ++++++++++++++++- tests/unit/cliproxy/session-tracker.test.js | 17 ++++++++++++++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/tests/unit/cliproxy/session-tracker-port.test.js b/tests/unit/cliproxy/session-tracker-port.test.js index 1826a2aa..e5a99d94 100644 --- a/tests/unit/cliproxy/session-tracker-port.test.js +++ b/tests/unit/cliproxy/session-tracker-port.test.js @@ -15,7 +15,10 @@ const testHome = path.join( os.tmpdir(), `ccs-test-session-port-${Date.now()}-${Math.random().toString(36).slice(2)}` ); +const originalCcsHome = process.env.CCS_HOME; +const originalCcsDir = process.env.CCS_DIR; process.env.CCS_HOME = testHome; +delete process.env.CCS_DIR; const { getExistingProxy, @@ -28,6 +31,7 @@ const { deleteSessionLockForPort, } = require('../../../dist/cliproxy/session-tracker'); const { CLIPROXY_DEFAULT_PORT } = require('../../../dist/cliproxy/config-generator'); +const { setGlobalConfigDir } = require('../../../dist/utils/config-manager'); describe('Session Tracker Port-Specific', function () { const variantPort1 = 8318; @@ -35,6 +39,11 @@ describe('Session Tracker Port-Specific', function () { let cliproxyDir; beforeEach(function () { + // Reassert test isolation because other files mutate CCS_DIR/CCS_HOME in the same Bun process. + process.env.CCS_HOME = testHome; + delete process.env.CCS_DIR; + setGlobalConfigDir(undefined); + // Create test directories cliproxyDir = path.join(testHome, '.ccs', 'cliproxy'); fs.mkdirSync(cliproxyDir, { recursive: true }); @@ -49,6 +58,8 @@ describe('Session Tracker Port-Specific', function () { }); afterEach(function () { + setGlobalConfigDir(undefined); + // Clean up session files try { const files = fs.readdirSync(cliproxyDir); @@ -69,7 +80,11 @@ describe('Session Tracker Port-Specific', function () { } catch { // Ignore cleanup errors } - delete process.env.CCS_HOME; + if (originalCcsHome !== undefined) process.env.CCS_HOME = originalCcsHome; + else delete process.env.CCS_HOME; + if (originalCcsDir !== undefined) process.env.CCS_DIR = originalCcsDir; + else delete process.env.CCS_DIR; + setGlobalConfigDir(undefined); }); describe('Session Lock Path', function () { diff --git a/tests/unit/cliproxy/session-tracker.test.js b/tests/unit/cliproxy/session-tracker.test.js index ac4d7de2..edc75d57 100644 --- a/tests/unit/cliproxy/session-tracker.test.js +++ b/tests/unit/cliproxy/session-tracker.test.js @@ -12,7 +12,10 @@ const os = require('os'); // Set test isolation environment before importing const testHome = path.join(os.tmpdir(), `ccs-test-${Date.now()}-${Math.random().toString(36).slice(2)}`); +const originalCcsHome = process.env.CCS_HOME; +const originalCcsDir = process.env.CCS_DIR; process.env.CCS_HOME = testHome; +delete process.env.CCS_DIR; const { getExistingProxy, @@ -24,6 +27,7 @@ const { stopProxy, getProxyStatus, } = require('../../../dist/cliproxy/session-tracker'); +const { setGlobalConfigDir } = require('../../../dist/utils/config-manager'); describe('Session Tracker', function () { const testPort = 18317; @@ -31,6 +35,11 @@ describe('Session Tracker', function () { let cliproxyDir; beforeEach(function () { + // Reassert test isolation because other files mutate CCS_DIR/CCS_HOME in the same Bun process. + process.env.CCS_HOME = testHome; + delete process.env.CCS_DIR; + setGlobalConfigDir(undefined); + // Create test directories cliproxyDir = path.join(testHome, '.ccs', 'cliproxy'); fs.mkdirSync(cliproxyDir, { recursive: true }); @@ -51,6 +60,8 @@ describe('Session Tracker', function () { }); afterEach(function () { + setGlobalConfigDir(undefined); + // Clean up lock files try { const files = fs.readdirSync(cliproxyDir); @@ -71,7 +82,11 @@ describe('Session Tracker', function () { } catch { // Ignore cleanup errors } - delete process.env.CCS_HOME; + if (originalCcsHome !== undefined) process.env.CCS_HOME = originalCcsHome; + else delete process.env.CCS_HOME; + if (originalCcsDir !== undefined) process.env.CCS_DIR = originalCcsDir; + else delete process.env.CCS_DIR; + setGlobalConfigDir(undefined); }); describe('getExistingProxy', function () {