mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-06-28 00:11:34 +00:00
chore: create signed peer record on new listen addresses in transport manager
This commit is contained in:
committed by
Vasco Santos
parent
7b93ece7f2
commit
43eda43f06
@ -4,13 +4,17 @@
|
||||
const chai = require('chai')
|
||||
chai.use(require('dirty-chai'))
|
||||
const { expect } = chai
|
||||
const sinon = require('sinon')
|
||||
|
||||
const AddressManager = require('../../src/address-manager')
|
||||
const TransportManager = require('../../src/transport-manager')
|
||||
const PeerStore = require('../../src/peer-store')
|
||||
const Transport = require('libp2p-tcp')
|
||||
const PeerId = require('peer-id')
|
||||
const multiaddr = require('multiaddr')
|
||||
const mockUpgrader = require('../utils/mockUpgrader')
|
||||
const sinon = require('sinon')
|
||||
const Peers = require('../fixtures/peers')
|
||||
const addrs = [
|
||||
multiaddr('/ip4/127.0.0.1/tcp/0'),
|
||||
multiaddr('/ip4/127.0.0.1/tcp/0')
|
||||
@ -18,11 +22,17 @@ const addrs = [
|
||||
|
||||
describe('Transport Manager (TCP)', () => {
|
||||
let tm
|
||||
let localPeer
|
||||
|
||||
before(async () => {
|
||||
localPeer = await PeerId.createFromJSON(Peers[0])
|
||||
})
|
||||
|
||||
before(() => {
|
||||
tm = new TransportManager({
|
||||
libp2p: {
|
||||
addressManager: new AddressManager({ listen: addrs })
|
||||
addressManager: new AddressManager({ listen: addrs }),
|
||||
PeerStore: new PeerStore({ peerId: localPeer })
|
||||
},
|
||||
upgrader: mockUpgrader,
|
||||
onConnection: () => {}
|
||||
@ -41,12 +51,18 @@ describe('Transport Manager (TCP)', () => {
|
||||
})
|
||||
|
||||
it('should be able to listen', async () => {
|
||||
sinon.spy(tm, '_createSelfPeerRecord')
|
||||
|
||||
tm.add(Transport.prototype[Symbol.toStringTag], Transport, { listenerOptions: { listen: 'carefully' } })
|
||||
const transport = tm._transports.get(Transport.prototype[Symbol.toStringTag])
|
||||
const spyListener = sinon.spy(transport, 'createListener')
|
||||
await tm.listen()
|
||||
expect(tm._listeners).to.have.key(Transport.prototype[Symbol.toStringTag])
|
||||
expect(tm._listeners.get(Transport.prototype[Symbol.toStringTag])).to.have.length(addrs.length)
|
||||
|
||||
// Created Self Peer record on new listen address
|
||||
expect(tm._createSelfPeerRecord.callCount).to.equal(addrs.length)
|
||||
|
||||
// Ephemeral ip addresses may result in multiple listeners
|
||||
expect(tm.getAddrs().length).to.equal(addrs.length)
|
||||
await tm.close()
|
||||
|
Reference in New Issue
Block a user