mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-06-21 21:11:34 +00:00
clean browser tests, add badgers
This commit is contained in:
65
tests/browser-nodejs/test.js
Normal file
65
tests/browser-nodejs/test.js
Normal file
@ -0,0 +1,65 @@
|
||||
const Server = require('karma').Server
|
||||
const path = require('path')
|
||||
|
||||
const Peer = require('peer-info')
|
||||
const Id = require('peer-id')
|
||||
const WebSockets = require('libp2p-websockets')
|
||||
const Swarm = require('./../../src')
|
||||
const multiaddr = require('multiaddr')
|
||||
|
||||
var swarmA
|
||||
var swarmB
|
||||
|
||||
function createListeners (done) {
|
||||
function createListenerA (cb) {
|
||||
const b58IdA = 'QmWg2L4Fucx1x4KXJTfKHGixBJvveubzcd7DdhB2Mqwfh1'
|
||||
const peerA = new Peer(Id.createFromB58String(b58IdA))
|
||||
const maA = multiaddr('/ip4/127.0.0.1/tcp/9100/websockets')
|
||||
|
||||
peerA.multiaddr.add(maA)
|
||||
swarmA = new Swarm(peerA)
|
||||
swarmA.transport.add('ws', new WebSockets())
|
||||
swarmA.transport.listen('ws', {}, echo, cb)
|
||||
}
|
||||
|
||||
function createListenerB (cb) {
|
||||
const b58IdB = 'QmRy1iU6BHmG5Hd8rnPhPL98cy1W1przUSTAMcGDq9yAAV'
|
||||
const maB = multiaddr('/ip4/127.0.0.1/tcp/9200/websockets')
|
||||
const peerB = new Peer(Id.createFromB58String(b58IdB))
|
||||
peerB.multiaddr.add(maB)
|
||||
swarmB = new Swarm(peerB)
|
||||
|
||||
swarmB.transport.add('ws', new WebSockets())
|
||||
swarmB.transport.listen('ws', {}, null, cb)
|
||||
|
||||
swarmB.handle('/echo/1.0.0', echo)
|
||||
}
|
||||
|
||||
var count = 0
|
||||
const ready = () => ++count === 2 ? done() : null
|
||||
|
||||
createListenerA(ready)
|
||||
createListenerB(ready)
|
||||
|
||||
function echo (conn) {
|
||||
conn.pipe(conn)
|
||||
}
|
||||
}
|
||||
|
||||
function stop (done) {
|
||||
var count = 0
|
||||
const ready = () => ++count === 2 ? done() : null
|
||||
|
||||
swarmA.transport.close('ws', ready)
|
||||
swarmB.transport.close('ws', ready)
|
||||
}
|
||||
|
||||
function run (done) {
|
||||
const karma = new Server({
|
||||
configFile: path.join(__dirname, '../../karma.conf.js')
|
||||
}, done)
|
||||
|
||||
karma.start()
|
||||
}
|
||||
|
||||
createListeners(() => run(() => stop(() => null)))
|
Reference in New Issue
Block a user