mirror of
https://github.com/fluencelabs/js-libp2p-interfaces
synced 2025-03-31 07:41:25 +00:00
* fix: reconnect should trigger topology on connect if protocol stored * chore: address review
46 lines
1.0 KiB
JavaScript
46 lines
1.0 KiB
JavaScript
/* eslint-env mocha */
|
|
'use strict'
|
|
|
|
const { EventEmitter } = require('events')
|
|
|
|
const tests = require('../../src/topology/tests/multicodec-topology')
|
|
const MulticodecTopology = require('../../src/topology/multicodec-topology')
|
|
const MockPeerStore = require('./mock-peer-store')
|
|
|
|
describe('multicodec topology compliance tests', () => {
|
|
tests({
|
|
setup (properties, registrar) {
|
|
const multicodecs = ['/echo/1.0.0']
|
|
const handlers = {
|
|
onConnect: () => { },
|
|
onDisconnect: () => { }
|
|
}
|
|
|
|
const topology = new MulticodecTopology({
|
|
multicodecs,
|
|
handlers,
|
|
...properties
|
|
})
|
|
|
|
if (!registrar) {
|
|
const peers = new Map()
|
|
const peerStore = new MockPeerStore(peers)
|
|
const connectionManager = new EventEmitter()
|
|
|
|
registrar = {
|
|
peerStore,
|
|
connectionManager,
|
|
getConnection: () => { }
|
|
}
|
|
}
|
|
|
|
topology.registrar = registrar
|
|
|
|
return topology
|
|
},
|
|
teardown () {
|
|
// cleanup resources created by setup()
|
|
}
|
|
})
|
|
})
|