Skip to content

A karma plugin that makes it possible to launch a websocket server for unit tests

License

Notifications You must be signed in to change notification settings

weblogixx/karma-websocket-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

karma-websocket-server

Makes it easy to globally start a websocket-node server for karma unit tests.

Installation

npm install karma-websocket-server --save-dev

Usage

// karma.conf.js
module.exports = function(config) {
  // ... snip
  frameworks: [ 'websocket-server' ],
  websocketServer: {
    port: 8889,
    beforeStart: (server) => {
      server.on('request', (req) => {
        console.log(new Date() + ' new websocket request...');
      });
    },
    afterStart: (server) => {
      console.log('Server now listening!');
    }
  }
});

The configuration object

After the framework is added to the karma configuration, you can control its behaviour with the websocketServer configuration object. The object holds three seperate items:

port (Number):

The port the server will run on. Defaults to 8889 if not provided.

beforeStart (Function):

This callback is invoked directly before the http server starts to listen. It takes the created websocket server instance as parameter. Use this callback to add listeners (like request) to the configuration.

afterStart (Function):

This callback is invoked after the http server has started. It takes the created websocket server instance as parameter.


Special thanks

Special thanks go to Tadas Subonis for creating karma-express-http-server where I borrowed some of the code.

Licence

karma-websocket-server is available under MIT-License and can therefore be used in any project free of charge.

About

A karma plugin that makes it possible to launch a websocket server for unit tests

Resources

License

Stars

Watchers

Forks

Packages