Skip to content

Commit 1dd3bc4

Browse files
test: fix
1 parent 67179ff commit 1dd3bc4

File tree

1 file changed

+49
-17
lines changed

1 file changed

+49
-17
lines changed

test/server/webSocketServer-option.test.js

Lines changed: 49 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const BaseServer = require('../../lib/servers/BaseServer');
1313
const port = require('../ports-map')['webSocketServer-option'];
1414

1515
describe('webSocketServer', () => {
16-
describe.only('server', () => {
16+
describe('server', () => {
1717
let mockedTestServer;
1818
let testServer;
1919
let server;
@@ -56,6 +56,7 @@ describe('webSocketServer', () => {
5656
class MockServer {
5757
// eslint-disable-next-line no-empty-function
5858
onConnection() {}
59+
close() {}
5960
}
6061
);
6162
});
@@ -199,7 +200,7 @@ describe('webSocketServer', () => {
199200
constructor(serv) {
200201
super(serv);
201202

202-
this.socket = sockjs.createServer({
203+
this.implementation = sockjs.createServer({
203204
// Use provided up-to-date sockjs-client
204205
sockjs_url: '/__webpack_dev_server__/sockjs.bundle.js',
205206
// Limit useless logs
@@ -214,23 +215,33 @@ describe('webSocketServer', () => {
214215
},
215216
});
216217

217-
this.socket.installHandlers(this.server.server, {
218+
this.implementation.installHandlers(this.server.server, {
218219
prefix: 'ws',
219220
});
220221

221222
customServerUsed = true;
222223
}
223224

224-
send(connection, message) {
225-
connection.write(message);
225+
close(callback) {
226+
[...this.server.sockets].forEach((socket) => {
227+
this.closeConnection(socket);
228+
});
229+
230+
if (callback) {
231+
callback();
232+
}
226233
}
227234

228-
close(connection) {
235+
closeConnection(connection) {
229236
connection.close();
230237
}
231238

239+
send(connection, message) {
240+
connection.write(message);
241+
}
242+
232243
onConnection(f) {
233-
this.socket.on('connection', (connection) => {
244+
this.implementation.on('connection', (connection) => {
234245
f(connection, connection.headers);
235246
});
236247
}
@@ -278,21 +289,22 @@ describe('webSocketServer', () => {
278289
webSocketServer: class MySockJSServer extends BaseServer {
279290
constructor(serv) {
280291
super(serv);
281-
282-
this.socket = sockjs.createServer({
292+
this.implementation = sockjs.createServer({
283293
// Use provided up-to-date sockjs-client
284294
sockjs_url: '/__webpack_dev_server__/sockjs.bundle.js',
285295
// Limit useless logs
286296
log: (severity, line) => {
287297
if (severity === 'error') {
288298
this.server.logger.error(line);
299+
} else if (severity === 'info') {
300+
this.server.logger.log(line);
289301
} else {
290302
this.server.logger.debug(line);
291303
}
292304
},
293305
});
294306

295-
this.socket.installHandlers(this.server.server, {
307+
this.implementation.installHandlers(this.server.server, {
296308
prefix: '/ws',
297309
});
298310
}
@@ -301,12 +313,22 @@ describe('webSocketServer', () => {
301313
connection.write(message);
302314
}
303315

304-
close(connection) {
316+
close(callback) {
317+
[...this.server.sockets].forEach((socket) => {
318+
this.closeConnection(socket);
319+
});
320+
321+
if (callback) {
322+
callback();
323+
}
324+
}
325+
326+
closeConnection(connection) {
305327
connection.close();
306328
}
307329

308330
onConnection(f) {
309-
this.socket.on('connection', (connection) => {
331+
this.implementation.on('connection', (connection) => {
310332
f(connection);
311333
});
312334
}
@@ -377,7 +399,7 @@ describe('webSocketServer', () => {
377399
webSocketServer: class MySockJSServer extends BaseServer {
378400
constructor(serv) {
379401
super(serv);
380-
this.socket = sockjs.createServer({
402+
this.implementation = sockjs.createServer({
381403
// Use provided up-to-date sockjs-client
382404
sockjs_url: '/__webpack_dev_server__/sockjs.bundle.js',
383405
// Limit useless logs
@@ -392,7 +414,7 @@ describe('webSocketServer', () => {
392414
},
393415
});
394416

395-
this.socket.installHandlers(this.server.server, {
417+
this.implementation.installHandlers(this.server.server, {
396418
prefix: '/ws',
397419
});
398420
}
@@ -401,12 +423,22 @@ describe('webSocketServer', () => {
401423
connection.write(message);
402424
}
403425

404-
close(connection) {
426+
close(callback) {
427+
[...this.server.sockets].forEach((socket) => {
428+
this.closeConnection(socket);
429+
});
430+
431+
if (callback) {
432+
callback();
433+
}
434+
}
435+
436+
closeConnection(connection) {
405437
connection.close();
406438
}
407439

408440
onConnection(f) {
409-
this.socket.on('connection', (connection) => {
441+
this.implementation.on('connection', (connection) => {
410442
f(connection, {
411443
host: null,
412444
});
@@ -530,7 +562,7 @@ describe('webSocketServer', () => {
530562
expect(mockServerInstance.onConnection.mock.calls).toMatchSnapshot();
531563
// the only call to send() here should be an invalid header message
532564
expect(mockServerInstance.send.mock.calls).toMatchSnapshot();
533-
expect(mockServerInstance.close.mock.calls).toMatchSnapshot();
565+
expect(mockServerInstance.closeConnection.mock.calls).toMatchSnapshot();
534566
// onConnectionClose should never get called since the client should be closed first
535567
expect(mockServerInstance.onConnectionClose.mock.calls.length).toEqual(
536568
0

0 commit comments

Comments
 (0)