fix(test): restore gateway fixture startup config

This commit is contained in:
Peter Steinberger
2026-04-27 20:36:32 +01:00
parent 1fc19ffe11
commit f7d2b396d6
6 changed files with 35 additions and 3 deletions

View File

@@ -32,7 +32,7 @@ const mocks = vi.hoisted(() => ({
shouldClearStoredApnsRegistration: vi.fn(() => false),
}));
vi.mock("../../config/config.js", () => ({
vi.mock("../../config/io.js", () => ({
getRuntimeConfig: mocks.getRuntimeConfig,
}));

View File

@@ -121,7 +121,8 @@ export function registerDefaultAuthTokenSuite(): void {
});
test("connect (req) handshake returns hello-ok payload", async () => {
const { STATE_DIR, createConfigIO } = await import("../config/config.js");
const { createConfigIO } = await import("../config/config.js");
const { STATE_DIR } = await import("../config/paths.js");
const ws = await openWs(port);
const res = await connectReq(ws);

View File

@@ -3,7 +3,10 @@ import fs from "node:fs/promises";
import os from "node:os";
import path from "node:path";
import { vi } from "vitest";
import type { ReadConfigFileSnapshotForWriteResult } from "../config/io.js";
import type {
ReadConfigFileSnapshotForWriteResult,
ReadConfigFileSnapshotWithPluginMetadataResult,
} from "../config/io.js";
import { applyPluginAutoEnable } from "../config/plugin-auto-enable.js";
import type { AgentBinding } from "../config/types.agents.js";
import type { ConfigFileSnapshot, OpenClawConfig } from "../config/types.js";
@@ -222,6 +225,22 @@ export function createGatewayConfigModuleMock(actual: GatewayConfigModule): Gate
expectedConfigPath: resolveConfigPath(),
},
});
const readConfigFileSnapshotWithPluginMetadata =
async (): Promise<ReadConfigFileSnapshotWithPluginMetadataResult> => {
const snapshot = await readConfigFileSnapshot();
const validation = actual.validateConfigObjectWithPlugins(snapshot.config, {
env: process.env,
pluginValidation: "skip",
});
return {
snapshot: {
...snapshot,
valid: validation.ok,
issues: validation.ok ? [] : validation.issues,
warnings: validation.warnings,
},
};
};
const loadTestConfig = () => {
const configPath = resolveConfigPath();
@@ -277,6 +296,7 @@ export function createGatewayConfigModuleMock(actual: GatewayConfigModule): Gate
issues: [],
}),
readConfigFileSnapshot,
readConfigFileSnapshotWithPluginMetadata,
readConfigFileSnapshotForWrite,
writeConfigFile,
};

View File

@@ -213,6 +213,7 @@ vi.mock("../config/io.js", async () => {
...actual.createConfigIO(),
getRuntimeConfig: configMock.getRuntimeConfig,
readConfigFileSnapshot: configMock.readConfigFileSnapshot,
readConfigFileSnapshotWithPluginMetadata: configMock.readConfigFileSnapshotWithPluginMetadata,
readConfigFileSnapshotForWrite: configMock.readConfigFileSnapshotForWrite,
writeConfigFile: configMock.writeConfigFile,
}));
@@ -221,6 +222,7 @@ vi.mock("../config/io.js", async () => {
createConfigIO,
getRuntimeConfig: configMock.getRuntimeConfig,
readConfigFileSnapshot: configMock.readConfigFileSnapshot,
readConfigFileSnapshotWithPluginMetadata: configMock.readConfigFileSnapshotWithPluginMetadata,
readConfigFileSnapshotForWrite: configMock.readConfigFileSnapshotForWrite,
writeConfigFile: configMock.writeConfigFile,
};

View File

@@ -576,6 +576,10 @@ export function onceMessage<T extends GatewayTestMessage = GatewayTestMessage>(
}
export async function startGatewayServer(port: number, opts?: GatewayServerOptions) {
// Tests mutate testState-backed config before server startup; discard earlier
// helper reads so startup observes the current fixture state.
resetConfigRuntimeState();
clearSessionStoreCacheForTest();
const mod = await getServerModule();
const resolvedOpts =
opts?.controlUiEnabled === undefined ? { ...opts, controlUiEnabled: false } : opts;

View File

@@ -62,6 +62,7 @@ export const forcedUnitFastTestFiles = [
"packages/memory-host-sdk/src/host/session-files.test.ts",
"src/acp/client.test.ts",
"src/acp/control-plane/manager.test.ts",
"src/acp/translator.prompt-prefix.test.ts",
"src/acp/translator.cancel-scoping.test.ts",
"src/acp/translator.stop-reason.test.ts",
"src/acp/persistent-bindings.test.ts",
@@ -94,6 +95,7 @@ export const forcedUnitFastTestFiles = [
"src/node-host/invoke-system-run.test.ts",
"src/pairing/allow-from-store-read.test.ts",
"src/pairing/pairing-store.test.ts",
"src/pairing/setup-code.test.ts",
"src/plugin-sdk/memory-host-events.test.ts",
"src/proxy-capture/store.sqlite.test.ts",
"src/security/audit-exec-surface.test.ts",
@@ -107,12 +109,15 @@ export const forcedUnitFastTestFiles = [
"src/realtime-transcription/websocket-session.test.ts",
"src/routing/resolve-route.test.ts",
"src/trajectory/export.test.ts",
"src/trajectory/metadata.test.ts",
"src/trajectory/runtime.test.ts",
"src/tts/provider-registry.test.ts",
"src/tts/status-config.test.ts",
"src/tts/tts-config.test.ts",
"src/terminal/table.test.ts",
"src/test-helpers/state-dir-env.test.ts",
"src/test-utils/env.test.ts",
"src/test-utils/temp-home.test.ts",
"src/utils.test.ts",
"src/version.test.ts",
];