From 1268114b74ff0bcacbf8e6bff552167feda27545 Mon Sep 17 00:00:00 2001 From: Matias Pando Date: Wed, 4 Feb 2015 14:10:33 -0300 Subject: [PATCH] Added test on Async --- test/network.Async.js | 97 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) diff --git a/test/network.Async.js b/test/network.Async.js index 12dba5622..671796076 100644 --- a/test/network.Async.js +++ b/test/network.Async.js @@ -138,6 +138,59 @@ describe('Network / Async', function() { n2._deletePeer.calledOnce.should.equal(false); }); + it('should ignore messages', function() { + var n1 = createN(pk1); + var n2 = createN(pk2); + n2._deletePeer = sinon.spy(); + + var message = { + type: 'hello', + copayerId: cid1, + secretNumber: 'mySecret', + ts: 1 + }; + var enc = n1.encode(cid2, message); + + enc.ts = 1; + n2.ignoreMessageFromTs = 1; + n2._onMessage(enc); + n2._deletePeer.calledOnce.should.equal(false); + }); + + + it('should delete peer if copayer does not belong', function() { + var n1 = createN(pk1); + var n2 = createN(pk2); + n2.lockIncommingConnections([cid3]); + n2._deletePeer = sinon.spy(); + + var message = { + type: 'hello', + copayerId: cid1, + secretNumber: 'mySecret', + }; + var enc = n1.encode(cid2, message); + + n2._onMessage(enc); + n2._deletePeer.calledOnce.should.equal(true); + }); + + it('should emit data', function() { + var n1 = createN(pk1); + var n2 = createN(pk2); + n2.emit = sinon.spy(); + + var message = { + type: 'helloxxx', + copayerId: cid1, + secretNumber: 'mySecret', + }; + var enc = n1.encode(cid2, message); + + n2._onMessage(enc); + n2.emit.calledOnce.should.equal(true); + }); + it('should reject data sent from a peer with hijacked pubkey', function() { var n = createN(pk2); @@ -396,6 +449,13 @@ describe('Network / Async', function() { var n = createN(); n.getCopayerIds().length.should.be.equal(1); }); + + it('should return the allowed copayer ids', function() { + var n = createN(); + var lockIds = ['abc001', 'abc002']; + n.lockIncommingConnections(lockIds); + n.getCopayerIds().length.should.be.equal(2); + }); }); describe('#isOnline', function() { @@ -449,4 +509,41 @@ describe('Network / Async', function() { }); }); + describe('#_onError', function() { + it('should set criticalError ', function() { + var n = createN(); + expect(n.criticalError).to.be.undefined; + var myError = { + message: 'Some error' + }; + n._onError(myError); + n.criticalError.should.be.equal('Some error'); + }); + }); + + describe('#_setInboundPeerAuth', function() { + it('should set isInboundPeerAuth ', function() { + var n = createN(); + expect(n.isInboundPeerAuth['1']).to.be.undefined; + + n._setInboundPeerAuth('1'); + n.isInboundPeerAuth['1'].should.be.true; + }); + }); + + describe('#start', function() { + it('should not start ', function(done) { + var n = createN(); + var opts = { + privkey: 'fb23b9074ca5e7163719b86b41c7ce8348cf3d2839bb5f6125ef6efd5d40d7d3', + copayerId: '0311a10109320efb3646c832d3e140c6d9c4f69b16e73fc3f0c23b3d014ec77828' + }; + n.started = 1; + + n.start(opts, function() { + done(); + }); + }); + }); + });