






















@@ -243,8 +243,8 @@ vi.mock("../../agents/pi-bundle-mcp-tools.js", () => ({
243243export function setupGatewaySessionsTestHarness() {
244244installGatewayTestHooks({ scope: "suite" });
245245246-let harness: GatewayServerHarness;
247-let sharedSessionStoreDir: string;
246+let harness: GatewayServerHarness | undefined;
247+let sharedSessionStoreDir: string | undefined;
248248let sessionStoreCaseSeq = 0;
249249250250beforeAll(async () => {
@@ -253,8 +253,10 @@ export function setupGatewaySessionsTestHarness() {
253253});
254254255255afterAll(async () => {
256-await harness.close();
257-await fs.rm(sharedSessionStoreDir, { recursive: true, force: true });
256+await harness?.close();
257+if (sharedSessionStoreDir) {
258+await fs.rm(sharedSessionStoreDir, { recursive: true, force: true });
259+}
258260});
259261260262beforeEach(async () => {
@@ -293,11 +295,25 @@ export function setupGatewaySessionsTestHarness() {
293295bundleMcpRuntimeMocks.disposeSessionMcpRuntime.mockResolvedValue(undefined);
294296});
295297298+const requireHarness = () => {
299+if (!harness) {
300+throw new Error("Gateway sessions test harness was not started");
301+}
302+return harness;
303+};
304+305+const requireSharedSessionStoreDir = () => {
306+if (!sharedSessionStoreDir) {
307+throw new Error("Gateway sessions shared session store dir was not created");
308+}
309+return sharedSessionStoreDir;
310+};
311+296312const openClient = async (opts?: Parameters<typeof connectOk>[1]) =>
297-await harness.openClient(opts);
313+await requireHarness().openClient(opts);
298314299315async function createSessionStoreDir() {
300-const dir = path.join(sharedSessionStoreDir, `case-${sessionStoreCaseSeq++}`);
316+const dir = path.join(requireSharedSessionStoreDir(), `case-${sessionStoreCaseSeq++}`);
301317await fs.mkdir(dir, { recursive: true });
302318const storePath = path.join(dir, "sessions.json");
303319testState.sessionStorePath = storePath;
@@ -317,7 +333,7 @@ export function setupGatewaySessionsTestHarness() {
317333318334return {
319335 createSessionStoreDir,
320-getHarness: () => harness,
336+getHarness: requireHarness,
321337 openClient,
322338 seedActiveMainSession,
323339};
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。