aboutsummaryrefslogtreecommitdiff
path: root/test/js/node/http/node-http.fixme.ts
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--test/js/node/http/node-http.fixme.ts (renamed from test/bun.js/node-http.test.ts)49
1 files changed, 30 insertions, 19 deletions
diff --git a/test/bun.js/node-http.test.ts b/test/js/node/http/node-http.fixme.ts
index 619d8cb35..d47002a6f 100644
--- a/test/bun.js/node-http.test.ts
+++ b/test/js/node/http/node-http.fixme.ts
@@ -1,6 +1,19 @@
import { describe, expect, it, beforeAll, afterAll } from "bun:test";
import { createServer, request, get, Agent, globalAgent, Server } from "node:http";
-import { createDoneDotAll } from "node-test-helpers";
+import { createDoneDotAll } from "node-harness";
+
+function listen(server: any): Promise<URL> {
+ return new Promise((resolve, reject) => {
+ server.listen({ port: 0 }, (err, hostname, port) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(new URL(`http://${hostname}:${port}`));
+ }
+ });
+ setTimeout(() => reject("Timed out"), 5000);
+ });
+}
describe("node:http", () => {
describe("createServer", async () => {
@@ -10,9 +23,8 @@ describe("node:http", () => {
res.writeHead(200, { "Content-Type": "text/plain" });
res.end("Hello World");
});
- server.listen(8123);
-
- const res = await fetch("http://localhost:8123/hello?world");
+ const url = await listen(server);
+ const res = await fetch(new URL("/hello?world", url));
expect(await res.text()).toBe("Hello World");
server.close();
});
@@ -32,9 +44,8 @@ describe("node:http", () => {
res.end();
});
});
- server.listen(8124);
-
- const res = await fetch("http://localhost:8124", {
+ const url = await listen(server);
+ const res = await fetch(url, {
method: "POST",
body: bodyBlob,
});
@@ -59,9 +70,8 @@ describe("node:http", () => {
res.end();
});
});
- server.listen(8125);
-
- const res = await fetch("http://localhost:8125", {
+ const url = await listen(server);
+ const res = await fetch(url, {
method: "POST",
body: bodyBlob,
});
@@ -73,7 +83,7 @@ describe("node:http", () => {
it("listen should return server", async () => {
const server = createServer();
- const listenResponse = server.listen(8129);
+ const listenResponse = server.listen(0);
expect(listenResponse instanceof Server).toBe(true);
expect(listenResponse).toBe(server);
listenResponse.close();
@@ -464,24 +474,25 @@ describe("node:http", () => {
done();
});
- server.listen({ signal, port: 8130 });
+ server.listen({ signal, port: 0 });
});
});
describe("get", () => {
let server;
- beforeAll(() => {
+ let url;
+ beforeAll(async () => {
server = createServer((req, res) => {
res.writeHead(200, { "Content-Type": "text/plain" });
res.end("Hello World");
});
- server.listen(8127);
+ url = await listen(server);
});
afterAll(() => {
server.close();
});
it("should make a standard GET request, like request", done => {
- get("http://127.0.0.1:8127", res => {
+ get(url, res => {
let data = "";
res.setEncoding("utf8");
res.on("data", chunk => {
@@ -506,12 +517,12 @@ describe("node:http", () => {
res.writeHead(200, { "Content-Type": "text/plain" });
res.end("Hello World");
});
- server.listen(8128, () => {
+ server.listen({ port: 0 }, (_, host, port) => {
// Setup request after server is listening
dummyReq = request(
{
- host: "localhost",
- port: 8128,
+ host,
+ port,
agent: dummyAgent,
},
res => {},
@@ -570,7 +581,7 @@ describe("node:http", () => {
server.close();
});
it("should attempt to make a standard GET request and abort", done => {
- get(`http://127.0.0.1:${server_port}`, { signal: AbortSignal.timeout(5) }, res => {
+ get(`http://${server_host}:${server_port}`, { signal: AbortSignal.timeout(5) }, res => {
let data = "";
res.setEncoding("utf8");
res.on("data", chunk => {