Skip to content

Commit

Permalink
test,net: add tests for server.connections
Browse files Browse the repository at this point in the history
There were no tests confirming situations where server.connections
should return `null`. Add a test for that situation.

Expand existing server.connection test slightly to check value.

Refactor (mostly spacing) code for server.connections setter.

PR-URL: #10762
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information
Trott authored and italoacasas committed Jan 30, 2017
1 parent d751afa commit 33af09f
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 7 deletions.
5 changes: 2 additions & 3 deletions lib/net.js
Expand Up @@ -1132,9 +1132,8 @@ function Server(options, connectionListener) {
return this._connections;
}, 'Server.connections property is deprecated. ' +
'Use Server.getConnections method instead.'),
set: internalUtil.deprecate((val) => {
return (this._connections = val);
}, 'Server.connections property is deprecated.'),
set: internalUtil.deprecate((val) => (this._connections = val),
'Server.connections property is deprecated.'),
configurable: true, enumerable: false
});

Expand Down
44 changes: 44 additions & 0 deletions test/parallel/test-net-server-connections-child-null.js
@@ -0,0 +1,44 @@
'use strict';
const common = require('../common');
const assert = require('assert');
const fork = require('child_process').fork;
const net = require('net');

if (process.argv[2] === 'child') {

process.on('message', (msg, socket) => {
socket.end('goodbye');
});

process.send('hello');

} else {

const child = fork(process.argv[1], ['child']);

const runTest = common.mustCall(() => {

const server = net.createServer();

// server.connections should start as 0
assert.strictEqual(server.connections, 0);
server.on('connection', (socket) => {
child.send({what: 'socket'}, socket);
});
server.on('close', () => {
child.kill();
});

server.listen(0, common.mustCall(() => {
const connect = net.connect(server.address().port);

connect.on('close', common.mustCall(() => {
// now server.connections should be null
assert.strictEqual(server.connections, null);
server.close();
}));
}));
});

child.on('message', runTest);
}
14 changes: 10 additions & 4 deletions test/parallel/test-net-server-connections.js
@@ -1,12 +1,18 @@
'use strict';
require('../common');
const common = require('../common');
const assert = require('assert');

const net = require('net');

// test that server.connections property is no longer enumerable now that it
// has been marked as deprecated

const server = new net.Server();

const expectedWarning = 'Server.connections property is deprecated. ' +
'Use Server.getConnections method instead.';

common.expectWarning('DeprecationWarning', expectedWarning);

// test that server.connections property is no longer enumerable now that it
// has been marked as deprecated
assert.strictEqual(Object.keys(server).indexOf('connections'), -1);

assert.strictEqual(server.connections, 0);

0 comments on commit 33af09f

Please sign in to comment.