test: reuse CLI runtime mock in daemon tests

This commit is contained in:
Peter Steinberger
2026-04-23 18:45:11 +01:00
parent 42c6e2d031
commit d0303e2a97
2 changed files with 7 additions and 39 deletions

View File

@@ -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;

View File

@@ -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,
};
});