1- import { afterEach , beforeAll , describe , expect , it , vi } from "vitest" ;
1+ import { afterEach , beforeAll , beforeEach , describe , expect , it , vi } from "vitest" ;
22import { testing as cliBackendsTesting } from "../agents/cli-backends.js" ;
3- import { GATEWAY_CLIENT_MODES , GATEWAY_CLIENT_NAMES } from "../utils/message-channel.js" ;
4-
5- const gatewayClientState = vi . hoisted ( ( ) => ( {
6- lastOptions : undefined as Record < string , unknown > | undefined ,
7- } ) ) ;
8-
9- vi . mock ( "./client.js" , ( ) => ( {
10- GatewayClient : class MockGatewayClient {
11- constructor ( options : Record < string , unknown > ) {
12- gatewayClientState . lastOptions = options ;
13- }
14-
15- start ( ) {
16- const options = gatewayClientState . lastOptions as
17- | { onHelloOk ?: ( hello : { type : "hello-ok" } ) => void }
18- | undefined ;
19- queueMicrotask ( ( ) => options ?. onHelloOk ?.( { type : "hello-ok" } ) ) ;
20- }
21-
22- async stopAndWait ( ) { }
23- } ,
24- } ) ) ;
253
264vi . mock ( "./client-start-readiness.js" , ( ) => ( {
275 startGatewayClientWhenEventLoopReady : async ( client : { start : ( ) => void } ) => {
@@ -37,9 +15,13 @@ describe("gateway cli backend live helpers", () => {
3715 liveHelpers = await import ( "./gateway-cli-backend.live-helpers.js" ) ;
3816 } ) ;
3917
18+ beforeEach ( ( ) => {
19+ vi . useRealTimers ( ) ;
20+ } ) ;
21+
4022 afterEach ( ( ) => {
23+ vi . useRealTimers ( ) ;
4124 cliBackendsTesting . resetDepsForTest ( ) ;
42- gatewayClientState . lastOptions = undefined ;
4325 delete process . env . OPENCLAW_SKIP_CHANNELS ;
4426 delete process . env . OPENCLAW_SKIP_PROVIDERS ;
4527 delete process . env . OPENCLAW_SKIP_GMAIL_WATCHER ;
@@ -95,26 +77,6 @@ describe("gateway cli backend live helpers", () => {
9577 expect ( process . env . ANTHROPIC_API_KEY_OLD ) . toBe ( "old-anthropic-old" ) ;
9678 } ) ;
9779
98- it ( "builds the live gateway client with test identity defaults" , async ( ) => {
99- const { connectTestGatewayClient } = await import ( "./gateway-cli-backend.live-helpers.js" ) ;
100-
101- const client = await connectTestGatewayClient ( {
102- url : "ws://127.0.0.1:18789" ,
103- token : "gateway-token" ,
104- } ) ;
105-
106- expect ( client . start ) . toBeTypeOf ( "function" ) ;
107- expect ( client . stopAndWait ) . toBeTypeOf ( "function" ) ;
108- expect ( gatewayClientState . lastOptions ?. url ) . toBe ( "ws://127.0.0.1:18789" ) ;
109- expect ( gatewayClientState . lastOptions ?. token ) . toBe ( "gateway-token" ) ;
110- expect ( gatewayClientState . lastOptions ?. clientName ) . toBe ( GATEWAY_CLIENT_NAMES . TEST ) ;
111- expect ( gatewayClientState . lastOptions ?. clientDisplayName ) . toBe ( "vitest-live" ) ;
112- expect ( gatewayClientState . lastOptions ?. clientVersion ) . toBe ( "dev" ) ;
113- expect ( gatewayClientState . lastOptions ?. mode ) . toBe ( GATEWAY_CLIENT_MODES . TEST ) ;
114- expect ( gatewayClientState . lastOptions ?. connectChallengeTimeoutMs ) . toBe ( 45_000 ) ;
115- expect ( gatewayClientState . lastOptions ) . not . toHaveProperty ( "requestTimeoutMs" ) ;
116- } ) ;
117-
11880 it ( "defaults the model switch probe to Claude Sonnet -> Opus" , async ( ) => {
11981 const { resolveCliModelSwitchProbeTarget, shouldRunCliModelSwitchProbe } =
12082 await import ( "./gateway-cli-backend.live-helpers.js" ) ;
0 commit comments