From a75f46f06fc9e906069ee9704814d6d92a93d324 Mon Sep 17 00:00:00 2001 From: nkzawa Date: Thu, 21 Jan 2016 20:50:44 +0900 Subject: [PATCH] add a test for graceful shutdown --- package.json | 2 +- test/fixtures/server-close.js | 11 +++++++++++ test/socket.io.js | 11 +++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/server-close.js diff --git a/package.json b/package.json index 0015dccd..3bb32cc3 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "test": "mocha --reporter dot --slow 200ms --bail" }, "dependencies": { - "engine.io": "1.6.7", + "engine.io": "nkzawa/engine.io#graceful-close", "socket.io-parser": "2.2.6", "socket.io-client": "1.4.4", "socket.io-adapter": "0.4.0", diff --git a/test/fixtures/server-close.js b/test/fixtures/server-close.js new file mode 100644 index 00000000..68917462 --- /dev/null +++ b/test/fixtures/server-close.js @@ -0,0 +1,11 @@ +var server = require('http').createServer(); +var ioc = require('socket.io-client'); +var io = require('../..')(server); + +var srv = server.listen(function() { + var socket = ioc('ws://localhost:' + server.address().port); + socket.on('connect', function() { + io.close(); + socket.close(); + }); +}); diff --git a/test/socket.io.js b/test/socket.io.js index a576ed49..eb1a8308 100644 --- a/test/socket.io.js +++ b/test/socket.io.js @@ -3,6 +3,7 @@ var http = require('http').Server; var io = require('..'); var fs = require('fs'); var join = require('path').join; +var exec = require('child_process').exec; var ioc = require('socket.io-client'); var request = require('supertest'); var expect = require('expect.js'); @@ -412,6 +413,16 @@ describe('socket.io', function(){ }); }); + describe('graceful close', function(){ + function fixture(filename) { + return process.execPath + ' ' + + join(__dirname, 'fixtures', filename); + } + + it('should stop socket and timers', function(done){ + exec(fixture('server-close.js'), done); + }); + }); }); describe('namespaces', function(){