Skip to content
This repository was archived by the owner on Aug 6, 2026. It is now read-only.

Commit 7137b92

Browse files
authored
fix(cloud-task): format idle stream recovery test
Generated-By: PostHog Code Task-Id: 92b56d91-0d15-416f-8ab9-2b32e3cb3e34
1 parent eb08201 commit 7137b92

1 file changed

Lines changed: 29 additions & 25 deletions

File tree

‎packages/core/src/cloud-task/cloud-task.test.ts‎

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2435,18 +2435,35 @@ describe("CloudTaskEngine", () => {
24352435
let streamCall = 0;
24362436
const encoder = new TextEncoder();
24372437
const abortedFirstConnection = { value: false };
2438-
mockStreamFetch.mockImplementation((_input: unknown, init?: RequestInit) => {
2439-
streamCall += 1;
2440-
if (streamCall === 1) {
2438+
mockStreamFetch.mockImplementation(
2439+
(_input: unknown, init?: RequestInit) => {
2440+
streamCall += 1;
2441+
if (streamCall === 1) {
2442+
const stream = new ReadableStream<Uint8Array>({
2443+
start(controller) {
2444+
// Never enqueue or close on our own; the read() promise awaits forever until the
2445+
// idle watchdog aborts it below, mirroring how a real fetch's reader rejects once
2446+
// its AbortSignal fires.
2447+
init?.signal?.addEventListener("abort", () => {
2448+
abortedFirstConnection.value = true;
2449+
controller.error(new DOMException("Aborted", "AbortError"));
2450+
});
2451+
},
2452+
});
2453+
return Promise.resolve(
2454+
new Response(stream, {
2455+
status: 200,
2456+
headers: { "Content-Type": "text/event-stream" },
2457+
}),
2458+
);
2459+
}
24412460
const stream = new ReadableStream<Uint8Array>({
24422461
start(controller) {
2443-
// Never enqueue or close on our own; the read() promise awaits forever until the
2444-
// idle watchdog aborts it below, mirroring how a real fetch's reader rejects once
2445-
// its AbortSignal fires.
2446-
init?.signal?.addEventListener("abort", () => {
2447-
abortedFirstConnection.value = true;
2448-
controller.error(new DOMException("Aborted", "AbortError"));
2449-
});
2462+
controller.enqueue(
2463+
encoder.encode(
2464+
'event: keepalive\ndata: {"type":"keepalive"}\n\n',
2465+
),
2466+
);
24502467
},
24512468
});
24522469
return Promise.resolve(
@@ -2455,21 +2472,8 @@ describe("CloudTaskEngine", () => {
24552472
headers: { "Content-Type": "text/event-stream" },
24562473
}),
24572474
);
2458-
}
2459-
const stream = new ReadableStream<Uint8Array>({
2460-
start(controller) {
2461-
controller.enqueue(
2462-
encoder.encode('event: keepalive\ndata: {"type":"keepalive"}\n\n'),
2463-
);
2464-
},
2465-
});
2466-
return Promise.resolve(
2467-
new Response(stream, {
2468-
status: 200,
2469-
headers: { "Content-Type": "text/event-stream" },
2470-
}),
2471-
);
2472-
});
2475+
},
2476+
);
24732477

24742478
service.watch({
24752479
taskId: "task-1",

0 commit comments

Comments
 (0)