1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
import { describe, expect, test } from "bun:test";
describe("Server", () => {
test("returns active port when initializing server with 0 port", () => {
const server = Bun.serve({
fetch() {
return new Response("Hello");
},
port: 0,
});
expect(server.port).not.toBe(0);
expect(server.port).toBeDefined();
server.stop();
});
test("allows connecting to server", async () => {
const server = Bun.serve({
fetch() {
return new Response("Hello");
},
port: 0,
});
const response = await fetch(`http://${server.hostname}:${server.port}`);
expect(await response.text()).toBe("Hello");
server.stop();
});
test('abort signal on server', async ()=> {
{
let signalOnServer = false;
const server = Bun.serve({
async fetch(req) {
req.signal.addEventListener("abort", () => {
signalOnServer = true;
});
await Bun.sleep(3000);
return new Response("Hello");
},
port: 54321,
});
try {
await fetch("http://localhost:54321", { signal: AbortSignal.timeout(100) });
} catch {}
await Bun.sleep(300);
expect(signalOnServer).toBe(true);
server.stop();
}
})
});
|