


























@@ -21,7 +21,7 @@ import {
2121watchClientDisconnect,
2222writeDone,
2323} from "./http-common.js";
24-import { makeMockHttpResponse } from "./test-http-response.js";
24+import { makeMockHttpReqRes, makeMockHttpResponse } from "./test-http-response.js";
25252626const readJsonBodyMock = vi.hoisted(() => vi.fn());
2727@@ -314,18 +314,8 @@ describe("setSseHeaders", () => {
314314});
315315316316describe("watchClientDisconnect", () => {
317-function buildReqRes(
318-reqSocket: EventEmitter | null,
319-resSocket: EventEmitter | null,
320-): { req: IncomingMessage; res: ServerResponse } {
321-return {
322-req: { socket: reqSocket } as unknown as IncomingMessage,
323-res: { socket: resSocket } as unknown as ServerResponse,
324-};
325-}
326-327317it("returns a no-op cleanup when no sockets are available", () => {
328-const { req, res } = buildReqRes(null, null);
318+const { req, res } = makeMockHttpReqRes(null, null);
329319const controller = new AbortController();
330320const cleanup = watchClientDisconnect(req, res, controller);
331321cleanup();
@@ -334,7 +324,7 @@ describe("watchClientDisconnect", () => {
334324335325it("aborts the controller and calls onDisconnect when a socket closes", () => {
336326const socket = new EventEmitter();
337-const { req, res } = buildReqRes(socket, socket);
327+const { req, res } = makeMockHttpReqRes(socket, socket);
338328const controller = new AbortController();
339329const onDisconnect = vi.fn();
340330watchClientDisconnect(req, res, controller, onDisconnect);
@@ -345,7 +335,7 @@ describe("watchClientDisconnect", () => {
345335346336it("does not double-abort when the controller is already aborted", () => {
347337const socket = new EventEmitter();
348-const { req, res } = buildReqRes(socket, null);
338+const { req, res } = makeMockHttpReqRes(socket, null);
349339const controller = new AbortController();
350340controller.abort();
351341const abortSpy = vi.spyOn(controller, "abort");
@@ -358,7 +348,7 @@ describe("watchClientDisconnect", () => {
358348359349it("works without an onDisconnect callback", () => {
360350const socket = new EventEmitter();
361-const { req, res } = buildReqRes(null, socket);
351+const { req, res } = makeMockHttpReqRes(null, socket);
362352const controller = new AbortController();
363353watchClientDisconnect(req, res, controller);
364354socket.emit("close");
@@ -368,7 +358,7 @@ describe("watchClientDisconnect", () => {
368358it("deduplicates identical request and response sockets", () => {
369359const socket = new EventEmitter();
370360const onSpy = vi.spyOn(socket, "on");
371-const { req, res } = buildReqRes(socket, socket);
361+const { req, res } = makeMockHttpReqRes(socket, socket);
372362const controller = new AbortController();
373363watchClientDisconnect(req, res, controller);
374364expect(onSpy).toHaveBeenCalledTimes(1);
@@ -379,7 +369,7 @@ describe("watchClientDisconnect", () => {
379369const resSocket = new EventEmitter();
380370const reqOn = vi.spyOn(reqSocket, "on");
381371const resOn = vi.spyOn(resSocket, "on");
382-const { req, res } = buildReqRes(reqSocket, resSocket);
372+const { req, res } = makeMockHttpReqRes(reqSocket, resSocket);
383373const controller = new AbortController();
384374watchClientDisconnect(req, res, controller);
385375const reqOnCall = mockCallRecord(reqOn, 0);
@@ -392,7 +382,7 @@ describe("watchClientDisconnect", () => {
392382393383it("cleanup detaches the close listener from each socket", () => {
394384const socket = new EventEmitter();
395-const { req, res } = buildReqRes(socket, null);
385+const { req, res } = makeMockHttpReqRes(socket, null);
396386const controller = new AbortController();
397387const cleanup = watchClientDisconnect(req, res, controller);
398388expect(socket.listenerCount("close")).toBe(1);
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。