From b7232db1b0e19da83b1515fcee2e0bc4be01767b Mon Sep 17 00:00:00 2001 From: Han Kim Date: Sat, 30 May 2026 13:39:49 -0700 Subject: [PATCH] test(gateway): avoid brittle shutdown timer assertion Co-authored-by: Han Kim Co-authored-by: Peter Steinberger --- src/gateway/server-close.test.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/gateway/server-close.test.ts b/src/gateway/server-close.test.ts index 6ac431113da..2e6755324de 100644 --- a/src/gateway/server-close.test.ts +++ b/src/gateway/server-close.test.ts @@ -937,11 +937,12 @@ describe("createGatewayCloseHandler", () => { it("fails shutdown when http server close still hangs after force close", async () => { vi.useFakeTimers(); + const closeAllConnections = vi.fn(); const close = createGatewayCloseHandler( createGatewayCloseTestDeps({ httpServer: { close: () => undefined, - closeAllConnections: vi.fn(), + closeAllConnections, closeIdleConnections: vi.fn(), } as never, }), @@ -953,7 +954,13 @@ describe("createGatewayCloseHandler", () => { ); await vi.advanceTimersByTimeAsync(HTTP_CLOSE_GRACE_MS + HTTP_CLOSE_FORCE_WAIT_MS); await closeExpectation; - expect(vi.getTimerCount()).toBe(0); + + expect(closeAllConnections).toHaveBeenCalledTimes(1); + expect( + mocks.logWarn.mock.calls.some(([message]) => + String(message).includes("http-server close exceeded 1000ms"), + ), + ).toBe(true); }); it("labels warnings for multiple HTTP servers with their index", async () => {