MCPcopy Index your code
hub / github.com/nodejs/node / test

Function test

test/parallel/test-inspector-network-websocket.js:30–75  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

28}
29
30async function test() {
31 await session.post('Network.enable');
32
33 const CUSTOM_HEADER_NAME = 'X-Custom-Header';
34 const CUSTOM_HEADER_VALUE = 'CustomHeaderValue';
35
36 const server = new WebSocketServer({
37 responseError: true,
38 customHandleUpgradeHeaders: [
39 `${CUSTOM_HEADER_NAME}: ${CUSTOM_HEADER_VALUE}`,
40 ]
41 });
42 await server.start();
43 const url = `ws://127.0.0.1:${server.port}/`;
44 let requestId;
45 once(session, 'Network.webSocketCreated').then(common.mustCall(([message]) => {
46 assert.strictEqual(message.method, 'Network.webSocketCreated');
47 assert.strictEqual(message.params.url, url);
48 assert.ok(message.params.requestId);
49 assert.strictEqual(typeof message.params.initiator, 'object');
50 assert.strictEqual(message.params.initiator.type, 'script');
51 assert.ok(findFrameInInitiator(nameRE, message.params.initiator));
52 requestId = message.params.requestId;
53 }));
54
55 once(session, 'Network.webSocketHandshakeResponseReceived').then(common.mustCall(([message]) => {
56 assert.strictEqual(message.params.requestId, requestId);
57 assert.strictEqual(message.params.response.status, 101);
58 assert.strictEqual(message.params.response.statusText, 'Switching Protocols');
59 assert.strictEqual(message.params.response.headers.upgrade, 'websocket');
60 assert.strictEqual(message.params.response.headers.connection, 'Upgrade');
61 assert.ok(message.params.response.headers['sec-websocket-accept']);
62 assert.ok(message.params.response.headers['sec-websocket-accept'].length > 0);
63 assert.strictEqual(message.params.response.headers[CUSTOM_HEADER_NAME.toLowerCase()], CUSTOM_HEADER_VALUE);
64 assert.strictEqual(typeof message.params.timestamp, 'number');
65 socket.close();
66 }));
67
68 const socket = new WebSocket(url);
69 once(session, 'Network.webSocketClosed').then(common.mustCall(([message]) => {
70 assert.strictEqual(message.method, 'Network.webSocketClosed');
71 assert.strictEqual(message.params.requestId, requestId);
72 session.disconnect();
73 server.server.close();
74 }));
75}
76
77test().then(common.mustCall());

Calls 8

startMethod · 0.95
closeMethod · 0.95
onceFunction · 0.70
findFrameInInitiatorFunction · 0.70
disconnectMethod · 0.65
postMethod · 0.45
thenMethod · 0.45
okMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…