diff --git a/test/server-test.js b/test/server-test.js index f5a89369..87cf92bc 100644 --- a/test/server-test.js +++ b/test/server-test.js @@ -412,16 +412,53 @@ describe('Server', function() { }); it('Connect - prior WebSocket connection exists', function(done) { + var wss = new ws.Server({ port: 5748 }); + + wss.once('connection', function(ws) { + ws.once('message', function(message) { + var m = JSON.parse(message); + + assert.deepEqual(m, { + command: 'subscribe', + id: 0, + streams: [ 'ledger', 'server' ] + }); + + ws.send(JSON.stringify({ + id: 0, + status: 'success', + type: 'response', + result: { + fee_base: 10, + fee_ref: 10, + ledger_hash: '1838539EE12463C36F2C53B079D807C697E3D93A1936B717E565A4A912E11776', + ledger_index: 7053695, + ledger_time: 455414390, + load_base: 256, + load_factor: 256, + random: 'E56C9154D9BE94D49C581179356C2E084E16D18D74E8B09093F2D61207625E6A', + reserve_base: 20000000, + reserve_inc: 5000000, + server_status: 'full', + validated_ledgers: '32570-7053695' + } + })); + + wss.close(); + }); + }); + var server = new Server(new Remote(), 'ws://localhost:5748'); - server._connected = false; - server._ws = { - close: function() { + server.once('connect', function() { + server.once('disconnect', function() { done(); - } - }; + }); + server.disconnect(); + }); server.connect(); + server.connect(); }); it('Connect - no WebSocket constructor', function() {