Skip to content

Commit

Permalink
remove duplicate test
Browse files Browse the repository at this point in the history
  • Loading branch information
cirospaciari committed Aug 21, 2023
1 parent 197df4e commit 1e474e8
Showing 1 changed file with 0 additions and 90 deletions.
90 changes: 0 additions & 90 deletions test/js/web/fetch/fetch.stream.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1125,95 +1125,5 @@ describe("fetch() with streaming", () => {
server?.stop(true);
}
});

test(`can handle socket close with ${compression} compression`, async () => {
let server: TCPSocketListener<any> | null = null;

try {
const parts = 5;
const content = "Hello".repeat(parts);
const { promise, resolve: resolveSocket } = Promise.withResolvers<Socket>();
server = Bun.listen({
port: 0,
hostname: "0.0.0.0",
socket: {
async open(socket) {
var corked: any[] = [];
var cork = true;
async function write(chunk: any) {
await new Promise<void>((resolve, reject) => {
if (cork) {
corked.push(chunk);
}

if (!cork && corked.length) {
socket.write(corked.join(""));
corked.length = 0;
socket.flush();
}

if (!cork) {
socket.write(chunk);
socket.flush();
}

resolve();
});
}
const compressed = compress(compression, Buffer.from(content, "utf8"));
await write("HTTP/1.1 200 OK\r\n");
await write("Content-Type: text/plain\r\n");
for (const [key, value] of Object.entries(headers)) {
await write(key + ": " + value + "\r\n");
}
// 10 extra missing bytes that we will never sent in this case we will wait to close
await write("Content-Length: " + compressed.byteLength + 10 + "\r\n");
await write("\r\n");
const size = compressed.byteLength / 5;
for (var i = 0; i < 5; i++) {
cork = false;
await write(compressed.slice(size * i, size * (i + 1)));
}
socket.flush();
resolveSocket(socket);
},
drain(socket) {},
},
});

const res = await fetch(`http://${server.hostname}:${server.port}`, {});
gcTick(false);

let socket: Socket | null = await promise;
try {
const reader = res.body?.getReader();

let buffer = Buffer.alloc(0);

while (true) {
gcTick(false);
const read_promise = reader?.read();
socket?.end();
socket = null;
const { done, value } = (await read_promise) as ReadableStreamDefaultReadResult<any>;

if (value) {
buffer = Buffer.concat([buffer, value]);
}

if (done) {
break;
}
}

gcTick(false);
expect(buffer.toString("utf8")).toBe("unreachable");
} catch (err) {
expect((err as Error).name).toBe("ConnectionClosed");
}
} finally {
server?.stop(true);
}
});
}
});

0 comments on commit 1e474e8

Please sign in to comment.