diff --git a/src/get-peer-info.js b/src/get-peer-info.js index ddeda93a..b75757f5 100644 --- a/src/get-peer-info.js +++ b/src/get-peer-info.js @@ -56,10 +56,10 @@ function getPeerInfoRemote (peer, libp2p) { try { peerInfo = getPeerInfo(peer, libp2p.peerBook) } catch (err) { - throw errCode( + return Promise.reject(errCode( new Error(`${peer} is not a valid peer type`), 'ERR_INVALID_PEER_TYPE' - ) + )) } // If we don't have an address for the peer, attempt to find it diff --git a/test/get-peer-info.spec.js b/test/get-peer-info.spec.js index 15ff9f54..e550cb46 100644 --- a/test/get-peer-info.spec.js +++ b/test/get-peer-info.spec.js @@ -123,5 +123,12 @@ describe('Get Peer Info', () => { expect(error.code).to.eql('ERR_INVALID_PEER_TYPE') }) + + it('should callback with error for invalid non-peer multiaddr (promise)', () => { + return getPeerInfoRemote(undefined) + .then(expect.fail, (err) => { + expect(err.code).to.eql('ERR_INVALID_PEER_TYPE') + }) + }) }) })