blob: 37c1315913603f5dd71713c64ef7461148b58cba (
plain) (
blame)
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
|
import { describe, it, expect } from "bun:test";
import { unsafe } from "bun";
const TEST_WEBSOCKET_HOST =
process.env.TEST_WEBSOCKET_HOST || "wss://ws.postman-echo.com/raw";
describe("WebSocket", () => {
it("should connect", async () => {
const ws = new WebSocket(TEST_WEBSOCKET_HOST);
await new Promise((resolve, reject) => {
ws.onopen = resolve;
ws.onerror = reject;
});
ws.close();
});
it("should send and receive messages", async () => {
const ws = new WebSocket(TEST_WEBSOCKET_HOST);
await new Promise((resolve, reject) => {
ws.onopen = resolve;
ws.onerror = reject;
ws.onclose = () => {
expect(ws.bufferedAmount).toBe(0);
resolve();
};
});
var promise = new Promise((resolve, reject) => {
ws.onmessage = (event) => {
expect(event.data).toBe("Hello World!");
ws.close();
resolve();
};
ws.onerror = reject;
});
ws.send("Hello World");
await promise;
});
});
|