js-libp2p-secio/test/index.spec.js

57 lines
1.4 KiB
JavaScript
Raw Normal View History

2016-05-20 21:29:53 +02:00
/* eslint-env mocha */
'use strict'
const expect = require('chai').expect
2016-05-22 13:19:17 +02:00
const through = require('through2')
const bl = require('bl')
const PeerId = require('peer-id')
const duplexify = require('duplexify')
2016-05-20 21:29:53 +02:00
const secio = require('../src')
describe('libp2p-secio', () => {
it('exists', () => {
expect(secio).to.exist
})
2016-05-22 13:19:17 +02:00
describe('insecure length prefixed stream', () => {
it('encodes', (done) => {
const id = PeerId.create({bits: 64})
const key = {}
const pt = through()
const insecure = duplexify(pt, pt)
const s = new secio.SecureSession(id, key, insecure)
// encoded on raw
s.insecure.pipe(bl((err, res) => {
expect(err).to.not.exist
expect(res.toString()).to.be.eql('\u0005hello\u0005world')
done()
}))
s.insecureLp.write('hello')
s.insecureLp.write('world')
insecure.end()
})
it('decodes', (done) => {
const id = PeerId.create({bits: 64})
const key = {}
const pt = through()
const insecure = duplexify(pt, pt)
const s = new secio.SecureSession(id, key, insecure)
// encoded on raw
s.insecureLp.pipe(bl((err, res) => {
expect(err).to.not.exist
expect(res.toString()).to.be.eql('helloworld')
done()
}))
s.insecure.write('\u0005hello')
s.insecure.write('\u0005world')
s.insecureLp.end()
})
})
2016-05-20 21:29:53 +02:00
})