From d0303e2a976d9f60daeef95c07e35599a9b4ed37 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Thu, 23 Apr 2026 18:45:11 +0100 Subject: [PATCH] test: reuse CLI runtime mock in daemon tests --- src/cli/daemon-cli.coverage.test.ts | 22 +++------------------- src/cli/security-cli.test.ts | 24 ++++-------------------- 2 files changed, 7 insertions(+), 39 deletions(-) diff --git a/src/cli/daemon-cli.coverage.test.ts b/src/cli/daemon-cli.coverage.test.ts index fb7c8972b71..a7c837470c7 100644 --- a/src/cli/daemon-cli.coverage.test.ts +++ b/src/cli/daemon-cli.coverage.test.ts @@ -41,25 +41,9 @@ const buildGatewayInstallPlan = vi.fn( }), ); -const mocks = vi.hoisted(() => { - const runtimeLogs: string[] = []; - const stringifyArgs = (args: unknown[]) => args.map((value) => String(value)).join(" "); - const defaultRuntime = { - log: vi.fn((...args: unknown[]) => { - runtimeLogs.push(stringifyArgs(args)); - }), - error: vi.fn(), - writeStdout: vi.fn((value: string) => { - defaultRuntime.log(value.endsWith("\n") ? value.slice(0, -1) : value); - }), - writeJson: vi.fn((value: unknown, space = 2) => { - defaultRuntime.log(JSON.stringify(value, null, space > 0 ? space : undefined)); - }), - exit: vi.fn((code: number) => { - throw new Error(`__exit__:${code}`); - }), - }; - return { runtimeLogs, defaultRuntime }; +const mocks = await vi.hoisted(async () => { + const { createCliRuntimeMock } = await import("./test-runtime-mock.js"); + return createCliRuntimeMock(vi); }); const { runtimeLogs } = mocks; diff --git a/src/cli/security-cli.test.ts b/src/cli/security-cli.test.ts index bf4b945e04f..c24780a02e8 100644 --- a/src/cli/security-cli.test.ts +++ b/src/cli/security-cli.test.ts @@ -2,24 +2,9 @@ import { Command } from "commander"; import { beforeEach, describe, expect, it, vi } from "vitest"; import { registerSecurityCli } from "./security-cli.js"; -const mocks = vi.hoisted(() => { - const runtimeLogs: string[] = []; - const stringifyArgs = (args: unknown[]) => args.map((value) => String(value)).join(" "); - const defaultRuntime = { - log: vi.fn((...args: unknown[]) => { - runtimeLogs.push(stringifyArgs(args)); - }), - error: vi.fn(), - writeStdout: vi.fn((value: string) => { - defaultRuntime.log(value.endsWith("\n") ? value.slice(0, -1) : value); - }), - writeJson: vi.fn((value: unknown, space = 2) => { - defaultRuntime.log(JSON.stringify(value, null, space > 0 ? space : undefined)); - }), - exit: vi.fn((code: number) => { - throw new Error(`__exit__:${code}`); - }), - }; +const mocks = await vi.hoisted(async () => { + const { createCliRuntimeMock } = await import("./test-runtime-mock.js"); + const runtime = createCliRuntimeMock(vi); return { loadConfig: vi.fn(), runSecurityAudit: vi.fn(), @@ -28,8 +13,7 @@ const mocks = vi.hoisted(() => { getSecurityAuditCommandSecretTargetIds: vi.fn( () => new Set(["gateway.auth.token", "gateway.auth.password"]), ), - defaultRuntime, - runtimeLogs, + ...runtime, }; });