UNPKG

telehash

Version:

A telehash library for node and browserify

52 lines (43 loc) 1.78 kB
var expect = require('chai').expect; var telehash = require('..'); // telehash.log({debug:console.log}); var numberOfExtensions = (global.localStorage) ? 7 : 10; describe('telehash-js', function(){ var idA = {"keys":{"1a":"akndnx5kbansip6xphxymwckpqkjj26fcm"},"secrets":{"1a":"ksxslm5mmtymnbph7nvxergb7oy3r35u"},"hashname":"5uegloufcyvnf34jausszmsabbfbcrg6fyxpcqzhddqxeefuapvq"}; var idB = {"keys":{"1a":"apkoh54rkobkeela6d62hblhqd7grqd5dm"},"secrets":{"1a":"ljfm3ov42x2fl6gsg6bxiqgtstnxls7r"},"hashname":"fvifxlr3bsaan2jajo5qqn4au5ldy2ypiweazmuwjtgtg43tirkq"}; it('should export an object', function(){ expect(telehash).to.be.a('object'); }); it('should have extensions', function(){ expect(Object.keys(telehash.extensions).length).to.be.above(3); }); it('should create a real mesh', function(done){ telehash.mesh({id:idA},function(err, mesh){ expect(err).to.not.exist; expect(mesh).to.be.an('object'); expect(mesh.extended.length).to.be.equal(numberOfExtensions); expect(mesh.paths().length).to.be.above(0); expect(mesh.discover({discover:function(){}},function(err){ expect(err).to.not.exist; done(); })); }); }); it('should create a real link', function(done){ telehash.log({debug:console.log}) telehash.mesh({id:idA},function(err, meshA){ expect(err).to.not.exist; var linkAB = meshA.link({keys:idB.keys}); expect(linkAB).to.exist; telehash.mesh({id:idB},function(err, meshB){ expect(err).to.not.exist; var linkBA = meshB.link({keys:idA.keys,paths:meshA.paths()}); expect(linkAB).to.exist; linkBA.on('status',function(err){ expect(err).to.not.exist; done(); }) }); }); }); });