mock-websocket
TypeScript icon, indicating that this package has built-in type declarations

0.0.7 • Public • Published

Javascript mocking library for websockets. This project inspired by mock-socket library, most code still the same. But targets only plain websockets. Currently unstable, API will change.

Installation

npm install -D mock-websocket

Usage

To use within a node environment you can simply import or require the files directly. This option is great for phantomjs or CI environments.

import { WebSocket, Server } from 'mock-websocket';
 
// OR
 
const mockServer = require('mock-socket').Server;
const mockWebSocket = require('mock-socket').WebSocket;

Native WebSocket Example

// chat.js
function Chat() {
  const chatSocket = new WebSocket('ws://localhost:8080');
  this.messages = [];
 
  chatSocket.onmessage = (event) => {
    this.messages.push(event.data);
  };
}
// chat-test.js
import { Server } from 'mock-websocket';
 
describe('Chat Unit Test', () => {
  it('basic test', (done) => {
    const mockServer = new Server('ws://localhost:8080');
    mockServer.on('connection', server => {
      mockServer.send('test message 1');
      mockServer.send('test message 2');
    });
 
    // Now when Chat tries to do new WebSocket() it
    // will create a MockWebSocket object \
    var chatApp = new Chat();
 
    setTimeout(() => {
      const messageLen = chatApp.messages.length;
      assert.equal(messageLen, 2, '2 messages where sent from the s server');
 
      mockServer.stop(done);
    }, 100);
  });
});

Package Sidebar

Install

npm i mock-websocket

Weekly Downloads

1,325

Version

0.0.7

License

MIT

Unpacked Size

390 kB

Total Files

58

Last publish

Collaborators

  • vovkasm