chore: deprecate old peer store api (#598)

* chore: deprecate old peer-store api

BREAKING CHANGE: the peer-store api changed. Check the API docs for the new specification.

* chore: apply suggestions from code review

Co-Authored-By: Jacob Heun <jacobheun@gmail.com>

* chore: apply suggestions from code review

Co-Authored-By: Jacob Heun <jacobheun@gmail.com>

Co-authored-by: Jacob Heun <jacobheun@gmail.com>
This commit is contained in:
Vasco Santos
2020-04-16 15:20:42 +02:00
committed by Jacob Heun
parent e9d225c9dc
commit ed6d5bb4b4
10 changed files with 107 additions and 155 deletions

View File

@ -75,8 +75,8 @@ describe('DHT subsystem operates correctly', () => {
])
await libp2p.contentRouting.put(key, value)
const fetchedValue = await remoteLibp2p.contentRouting.get(key)
expect(fetchedValue).to.eql(value)
})
})

View File

@ -5,11 +5,10 @@ const chai = require('chai')
chai.use(require('dirty-chai'))
const { expect } = chai
const { EventEmitter } = require('events')
const pDefer = require('p-defer')
const multiaddr = require('multiaddr')
const AddressBook = require('../../src/peer-store/address-book')
const PeerStore = require('../../src/peer-store')
const peerUtils = require('../utils/creators/peer')
const {
@ -30,15 +29,15 @@ describe('addressBook', () => {
})
describe('addressBook.set', () => {
let ee, ab
let peerStore, ab
beforeEach(() => {
ee = new EventEmitter()
ab = new AddressBook(ee)
peerStore = new PeerStore()
ab = peerStore.addressBook
})
afterEach(() => {
ee.removeAllListeners()
peerStore.removeAllListeners()
})
it('throwns invalid parameters error if invalid PeerId is provided', () => {
@ -63,7 +62,7 @@ describe('addressBook', () => {
const defer = pDefer()
const supportedMultiaddrs = [addr1, addr2]
ee.once('change:multiaddrs', ({ peerId, multiaddrs }) => {
peerStore.once('change:multiaddrs', ({ peerId, multiaddrs }) => {
expect(peerId).to.exist()
expect(multiaddrs).to.eql(supportedMultiaddrs)
defer.resolve()
@ -84,7 +83,7 @@ describe('addressBook', () => {
const supportedMultiaddrsB = [addr2]
let changeCounter = 0
ee.on('change:multiaddrs', () => {
peerStore.on('change:multiaddrs', () => {
changeCounter++
if (changeCounter > 1) {
defer.resolve()
@ -109,7 +108,7 @@ describe('addressBook', () => {
const supportedMultiaddrs = [addr1, addr2]
let changeCounter = 0
ee.on('change:multiaddrs', () => {
peerStore.on('change:multiaddrs', () => {
changeCounter++
if (changeCounter > 1) {
defer.reject()
@ -132,15 +131,15 @@ describe('addressBook', () => {
})
describe('addressBook.add', () => {
let ee, ab
let peerStore, ab
beforeEach(() => {
ee = new EventEmitter()
ab = new AddressBook(ee)
peerStore = new PeerStore()
ab = peerStore.addressBook
})
afterEach(() => {
ee.removeAllListeners()
peerStore.removeAllListeners()
})
it('throwns invalid parameters error if invalid PeerId is provided', () => {
@ -169,7 +168,7 @@ describe('addressBook', () => {
const finalMultiaddrs = supportedMultiaddrsA.concat(supportedMultiaddrsB)
let changeTrigger = 2
ee.on('change:multiaddrs', ({ multiaddrs }) => {
peerStore.on('change:multiaddrs', ({ multiaddrs }) => {
changeTrigger--
if (changeTrigger === 0 && arraysAreEqual(multiaddrs, finalMultiaddrs)) {
defer.resolve()
@ -199,7 +198,7 @@ describe('addressBook', () => {
const finalMultiaddrs = supportedMultiaddrsA.concat(supportedMultiaddrsB)
let changeCounter = 0
ee.on('change:multiaddrs', () => {
peerStore.on('change:multiaddrs', () => {
changeCounter++
if (changeCounter > 1) {
defer.resolve()
@ -225,7 +224,7 @@ describe('addressBook', () => {
const supportedMultiaddrsB = [addr2]
let changeCounter = 0
ee.on('change:multiaddrs', () => {
peerStore.on('change:multiaddrs', () => {
changeCounter++
if (changeCounter > 1) {
defer.reject()
@ -248,11 +247,11 @@ describe('addressBook', () => {
})
describe('addressBook.get', () => {
let ee, ab
let peerStore, ab
beforeEach(() => {
ee = new EventEmitter()
ab = new AddressBook(ee)
peerStore = new PeerStore()
ab = peerStore.addressBook
})
it('throwns invalid parameters error if invalid PeerId is provided', () => {
@ -279,11 +278,11 @@ describe('addressBook', () => {
})
describe('addressBook.getMultiaddrsForPeer', () => {
let ee, ab
let peerStore, ab
beforeEach(() => {
ee = new EventEmitter()
ab = new AddressBook(ee)
peerStore = new PeerStore()
ab = peerStore.addressBook
})
it('throwns invalid parameters error if invalid PeerId is provided', () => {
@ -311,11 +310,11 @@ describe('addressBook', () => {
})
describe('addressBook.delete', () => {
let ee, ab
let peerStore, ab
beforeEach(() => {
ee = new EventEmitter()
ab = new AddressBook(ee)
peerStore = new PeerStore()
ab = peerStore.addressBook
})
it('throwns invalid parameters error if invalid PeerId is provided', () => {
@ -327,7 +326,7 @@ describe('addressBook', () => {
it('returns false if no records exist for the peer and no event is emitted', () => {
const defer = pDefer()
ee.on('change:multiaddrs', () => {
peerStore.on('change:multiaddrs', () => {
defer.reject()
})
@ -350,7 +349,7 @@ describe('addressBook', () => {
ab.set(peerId, supportedMultiaddrs)
// Listen after set
ee.on('change:multiaddrs', ({ multiaddrs }) => {
peerStore.on('change:multiaddrs', ({ multiaddrs }) => {
expect(multiaddrs.length).to.eql(0)
defer.resolve()
})

View File

@ -45,7 +45,7 @@ describe('peer-store', () => {
})
it('returns undefined on trying to find a non existant peerId', () => {
const peerInfo = peerStore.find(peerIds[0])
const peerInfo = peerStore.get(peerIds[0])
expect(peerInfo).to.not.exist()
})
})
@ -101,8 +101,8 @@ describe('peer-store', () => {
expect(peers.size).to.equal(3)
})
it('finds the stored information of a peer in all its books', () => {
const peerInfo = peerStore.find(peerIds[0])
it('gets the stored information of a peer in all its books', () => {
const peerInfo = peerStore.get(peerIds[0])
expect(peerInfo).to.exist()
expect(peerInfo.protocols).to.have.members([proto1])
@ -110,8 +110,8 @@ describe('peer-store', () => {
expect(peerMultiaddrs).to.have.members([addr1, addr2])
})
it('finds the stored information of a peer that is not present in all its books', () => {
const peerInfo = peerStore.find(peerIds[2])
it('gets the stored information of a peer that is not present in all its books', () => {
const peerInfo = peerStore.get(peerIds[2])
expect(peerInfo).to.exist()
expect(peerInfo.protocols.length).to.eql(0)

View File

@ -5,10 +5,9 @@ const chai = require('chai')
chai.use(require('dirty-chai'))
const { expect } = chai
const { EventEmitter } = require('events')
const pDefer = require('p-defer')
const ProtoBook = require('../../src/peer-store/proto-book')
const PeerStore = require('../../src/peer-store')
const peerUtils = require('../utils/creators/peer')
const {
@ -25,15 +24,15 @@ describe('protoBook', () => {
})
describe('protoBook.set', () => {
let ee, pb
let peerStore, pb
beforeEach(() => {
ee = new EventEmitter()
pb = new ProtoBook(ee)
peerStore = new PeerStore()
pb = peerStore.protoBook
})
afterEach(() => {
ee.removeAllListeners()
peerStore.removeAllListeners()
})
it('throwns invalid parameters error if invalid PeerId is provided', () => {
@ -52,7 +51,7 @@ describe('protoBook', () => {
const defer = pDefer()
const supportedProtocols = ['protocol1', 'protocol2']
ee.once('change:protocols', ({ peerId, protocols }) => {
peerStore.once('change:protocols', ({ peerId, protocols }) => {
expect(peerId).to.exist()
expect(protocols).to.have.deep.members(supportedProtocols)
defer.resolve()
@ -72,7 +71,7 @@ describe('protoBook', () => {
const supportedProtocolsB = ['protocol2']
let changeCounter = 0
ee.on('change:protocols', () => {
peerStore.on('change:protocols', () => {
changeCounter++
if (changeCounter > 1) {
defer.resolve()
@ -96,7 +95,7 @@ describe('protoBook', () => {
const supportedProtocols = ['protocol1', 'protocol2']
let changeCounter = 0
ee.on('change:protocols', () => {
peerStore.on('change:protocols', () => {
changeCounter++
if (changeCounter > 1) {
defer.reject()
@ -119,15 +118,15 @@ describe('protoBook', () => {
})
describe('protoBook.add', () => {
let ee, pb
let peerStore, pb
beforeEach(() => {
ee = new EventEmitter()
pb = new ProtoBook(ee)
peerStore = new PeerStore()
pb = peerStore.protoBook
})
afterEach(() => {
ee.removeAllListeners()
peerStore.removeAllListeners()
})
it('throwns invalid parameters error if invalid PeerId is provided', () => {
@ -150,7 +149,7 @@ describe('protoBook', () => {
const finalProtocols = supportedProtocolsA.concat(supportedProtocolsB)
let changeTrigger = 2
ee.on('change:protocols', ({ protocols }) => {
peerStore.on('change:protocols', ({ protocols }) => {
changeTrigger--
if (changeTrigger === 0 && arraysAreEqual(protocols, finalProtocols)) {
defer.resolve()
@ -178,7 +177,7 @@ describe('protoBook', () => {
const finalProtocols = supportedProtocolsA.concat(supportedProtocolsB)
let changeCounter = 0
ee.on('change:protocols', () => {
peerStore.on('change:protocols', () => {
changeCounter++
if (changeCounter > 1) {
defer.resolve()
@ -203,7 +202,7 @@ describe('protoBook', () => {
const supportedProtocolsB = ['protocol2']
let changeCounter = 0
ee.on('change:protocols', () => {
peerStore.on('change:protocols', () => {
changeCounter++
if (changeCounter > 1) {
defer.reject()
@ -226,11 +225,11 @@ describe('protoBook', () => {
})
describe('protoBook.get', () => {
let ee, pb
let peerStore, pb
beforeEach(() => {
ee = new EventEmitter()
pb = new ProtoBook(ee)
peerStore = new PeerStore()
pb = peerStore.protoBook
})
it('throwns invalid parameters error if invalid PeerId is provided', () => {
@ -256,11 +255,11 @@ describe('protoBook', () => {
})
describe('protoBook.delete', () => {
let ee, pb
let peerStore, pb
beforeEach(() => {
ee = new EventEmitter()
pb = new ProtoBook(ee)
peerStore = new PeerStore()
pb = peerStore.protoBook
})
it('throwns invalid parameters error if invalid PeerId is provided', () => {
@ -272,7 +271,7 @@ describe('protoBook', () => {
it('returns false if no records exist for the peer and no event is emitted', () => {
const defer = pDefer()
ee.on('change:protocols', () => {
peerStore.on('change:protocols', () => {
defer.reject()
})
@ -295,7 +294,7 @@ describe('protoBook', () => {
pb.set(peerId, supportedProtocols)
// Listen after set
ee.on('change:protocols', ({ protocols }) => {
peerStore.on('change:protocols', ({ protocols }) => {
expect(protocols.length).to.eql(0)
defer.resolve()
})