js-libp2p/test/switch/transports.browser.js

53 lines
1.3 KiB
JavaScript

/* eslint-env mocha */
'use strict'
const chai = require('chai')
const dirtyChai = require('dirty-chai')
const expect = chai.expect
chai.use(dirtyChai)
const PeerId = require('peer-id')
const PeerInfo = require('peer-info')
const PeerBook = require('peer-book')
const WebSockets = require('libp2p-websockets')
const tryEcho = require('./utils').tryEcho
const Switch = require('../../src/switch')
describe('Transports', () => {
describe('WebSockets', () => {
let sw
let peer
before((done) => {
const b58IdSrc = 'QmYzgdesgjdvD3okTPGZT9NPmh1BuH5FfTVNKjsvaAprhb'
// use a pre generated Id to save time
const idSrc = PeerId.createFromB58String(b58IdSrc)
const peerSrc = new PeerInfo(idSrc)
sw = new Switch(peerSrc, new PeerBook())
PeerInfo.create((err, p) => {
expect(err).to.not.exist()
peer = p
done()
})
})
it('.transport.add', () => {
sw.transport.add('ws', new WebSockets())
expect(Object.keys(sw.transports).length).to.equal(1)
})
it('.transport.dial', (done) => {
peer.multiaddrs.clear()
peer.multiaddrs.add('/ip4/127.0.0.1/tcp/15337/ws')
const conn = sw.transport.dial('ws', peer, (err, conn) => {
expect(err).to.not.exist()
})
tryEcho(conn, done)
})
})
})