mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-19 00:44:49 +00:00
test: tighten gateway startup assertions
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
type StartGatewayDiscovery = typeof import("./server-discovery-runtime.js").startGatewayDiscovery;
|
||||
|
||||
const mocks = vi.hoisted(() => ({
|
||||
getMachineDisplayName: vi.fn(async () => "Test Machine"),
|
||||
startGatewayDiscovery: vi.fn(async () => ({ bonjourStop: null })),
|
||||
startGatewayDiscovery: vi.fn<StartGatewayDiscovery>(async () => ({ bonjourStop: null })),
|
||||
}));
|
||||
|
||||
vi.mock("../infra/machine-name.js", () => ({
|
||||
@@ -87,15 +89,15 @@ describe("startGatewayEarlyRuntime", () => {
|
||||
}),
|
||||
).resolves.toBe(stop);
|
||||
|
||||
expect(mocks.startGatewayDiscovery).toHaveBeenCalledWith(
|
||||
expect.objectContaining({
|
||||
machineDisplayName: "Test Machine",
|
||||
port: 19_001,
|
||||
gatewayTls: { enabled: true, fingerprintSha256: "abc123" },
|
||||
tailscaleMode: "serve",
|
||||
mdnsMode: "full",
|
||||
gatewayDiscoveryServices: [service],
|
||||
}),
|
||||
);
|
||||
const [discoveryParams] = mocks.startGatewayDiscovery.mock.calls.at(-1) ?? [];
|
||||
if (discoveryParams === undefined) {
|
||||
throw new Error("Expected gateway discovery to start");
|
||||
}
|
||||
expect(discoveryParams.machineDisplayName).toBe("Test Machine");
|
||||
expect(discoveryParams.port).toBe(19_001);
|
||||
expect(discoveryParams.gatewayTls).toEqual({ enabled: true, fingerprintSha256: "abc123" });
|
||||
expect(discoveryParams.tailscaleMode).toBe("serve");
|
||||
expect(discoveryParams.mdnsMode).toBe("full");
|
||||
expect(discoveryParams.gatewayDiscoveryServices).toEqual([service]);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -36,6 +36,19 @@ vi.mock("../agents/pi-embedded-runner/runtime.js", () => ({
|
||||
let prewarmConfiguredPrimaryModel: typeof import("./server-startup-post-attach.js").__testing.prewarmConfiguredPrimaryModel;
|
||||
let shouldSkipStartupModelPrewarm: typeof import("./server-startup-post-attach.js").__testing.shouldSkipStartupModelPrewarm;
|
||||
|
||||
function expectModelsJsonPrewarmCall(cfg: OpenClawConfig) {
|
||||
expect(ensureOpenClawModelsJsonMock).toHaveBeenCalledTimes(1);
|
||||
const [calledConfig, agentDir, options] = ensureOpenClawModelsJsonMock.mock.calls[0] ?? [];
|
||||
expect(calledConfig).toBe(cfg);
|
||||
expect(agentDir).toBe("/tmp/agent");
|
||||
expect(options).toEqual({
|
||||
workspaceDir: "/tmp/workspace",
|
||||
providerDiscoveryProviderIds: ["openai-codex"],
|
||||
providerDiscoveryTimeoutMs: 5000,
|
||||
providerDiscoveryEntriesOnly: true,
|
||||
});
|
||||
}
|
||||
|
||||
describe("gateway startup primary model warmup", () => {
|
||||
beforeAll(async () => {
|
||||
({
|
||||
@@ -66,16 +79,7 @@ describe("gateway startup primary model warmup", () => {
|
||||
log: { warn: vi.fn() },
|
||||
});
|
||||
|
||||
expect(ensureOpenClawModelsJsonMock).toHaveBeenCalledWith(
|
||||
cfg,
|
||||
"/tmp/agent",
|
||||
expect.objectContaining({
|
||||
workspaceDir: "/tmp/workspace",
|
||||
providerDiscoveryProviderIds: ["openai-codex"],
|
||||
providerDiscoveryTimeoutMs: 5000,
|
||||
providerDiscoveryEntriesOnly: true,
|
||||
}),
|
||||
);
|
||||
expectModelsJsonPrewarmCall(cfg);
|
||||
expect(piModelModuleLoadedMock).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
@@ -163,16 +167,7 @@ describe("gateway startup primary model warmup", () => {
|
||||
log: { warn: vi.fn() },
|
||||
});
|
||||
|
||||
expect(ensureOpenClawModelsJsonMock).toHaveBeenCalledWith(
|
||||
cfg,
|
||||
"/tmp/agent",
|
||||
expect.objectContaining({
|
||||
workspaceDir: "/tmp/workspace",
|
||||
providerDiscoveryProviderIds: ["openai-codex"],
|
||||
providerDiscoveryTimeoutMs: 5000,
|
||||
providerDiscoveryEntriesOnly: true,
|
||||
}),
|
||||
);
|
||||
expectModelsJsonPrewarmCall(cfg);
|
||||
expect(piModelModuleLoadedMock).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user