UNPKG

socket-stress-test

Version:

Enables you to create basic stress tests for sockets

92 lines (81 loc) 3.18 kB
var should = require('chai').should() , server = require('./utils/server') , SocketPromise = require('../lib/stress.test') , ioUrl = process.env.CLIENT_IO_URL , sio = server.io , defaultIoOptions = { transports: ['websocket'] , forceNew: true , reconnection: false } describe('Lib: stress test', function(){ it('Should send the right information', function(done) { var socket_promise = new SocketPromise({ ioUrl: ioUrl , maxConnections: 1 , connectionInterval: 10 , ioOptions: defaultIoOptions }) socket_promise.addEmit('hello', { 'world': 123 }, 100) sio.on('connection', function(socket) { socket.on('hello', function(payload) { payload.should.have.property('world') done() socket.disconnect() socket_promise.stop() }) }) socket_promise.run() }) it('Should fire .new() callback when new socket is getting created', function(done) { var socket_promise = new SocketPromise({ ioUrl: ioUrl , maxConnections: 1 , connectionInterval: 10 , ioOptions: defaultIoOptions }) .new(function(socketTester, numberOfConnections) { numberOfConnections.should.be.equal(1) done() socketTester.socket.disconnect() socket_promise.stop() }) socket_promise.run() }) it('Should fire .disconnect() callback when socket get disconnected', function(done) { var socket_promise = new SocketPromise({ ioUrl: ioUrl , maxConnections: 10 , connectionInterval: 10 , ioOptions: defaultIoOptions }) socket_promise.disconnect(function() { done() socket_promise.stop() }) sio.on('connection', function(socket) { socket.disconnect() }) socket_promise.run() }) it('Should open connections till the max connections is reached', function(done) { var socket_promise = new SocketPromise({ ioUrl: ioUrl , maxConnections: 10 , connectionInterval: 10 , ioOptions: defaultIoOptions }) socket_promise.new(function(socketTester, numberOfConnections) { if (numberOfConnections == 10) { done() } else if (numberOfConnections > 10) { done(new Error("Number of conenctions is too high")) socket_promise.stop() } }) socket_promise.run() }) })