websocket.integration.js (1165B)
1 'use strict'; 2 3 const assert = require('assert'); 4 5 const WebSocket = require('..'); 6 7 describe('WebSocket', () => { 8 it('communicates successfully with echo service (ws)', (done) => { 9 const ws = new WebSocket('ws://websocket-echo.com/', { 10 protocolVersion: 13 11 }); 12 13 let dataReceived = false; 14 15 ws.on('open', () => { 16 ws.send('hello'); 17 }); 18 19 ws.on('close', () => { 20 assert.ok(dataReceived); 21 done(); 22 }); 23 24 ws.on('message', (message, isBinary) => { 25 dataReceived = true; 26 assert.ok(!isBinary); 27 assert.strictEqual(message.toString(), 'hello'); 28 ws.close(); 29 }); 30 }); 31 32 it('communicates successfully with echo service (wss)', (done) => { 33 const ws = new WebSocket('wss://websocket-echo.com/', { 34 protocolVersion: 13 35 }); 36 37 let dataReceived = false; 38 39 ws.on('open', () => { 40 ws.send('hello'); 41 }); 42 43 ws.on('close', () => { 44 assert.ok(dataReceived); 45 done(); 46 }); 47 48 ws.on('message', (message, isBinary) => { 49 dataReceived = true; 50 assert.ok(!isBinary); 51 assert.strictEqual(message.toString(), 'hello'); 52 ws.close(); 53 }); 54 }); 55 });