npm

Ready to take your JavaScript development to the next level? Meet npm Enterprise - the ultimate in enterprise JavaScript.Learn more »

mock-websocket

0.0.5 • 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);
  });
});

install

npm i mock-websocket

Downloadsweekly downloads

142

version

0.0.5

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability