github.com/prysmaticlabs/prysm@v1.4.4/beacon-chain/p2p/testing/mock_peermanager.go (about) 1 package testing 2 3 import ( 4 "context" 5 "errors" 6 7 "github.com/ethereum/go-ethereum/p2p/enr" 8 "github.com/libp2p/go-libp2p-core/host" 9 "github.com/libp2p/go-libp2p-core/peer" 10 "github.com/multiformats/go-multiaddr" 11 ) 12 13 // MockPeerManager is mock of the PeerManager interface. 14 type MockPeerManager struct { 15 Enr *enr.Record 16 PID peer.ID 17 BHost host.Host 18 DiscoveryAddr []multiaddr.Multiaddr 19 FailDiscoveryAddr bool 20 } 21 22 // Disconnect . 23 func (m *MockPeerManager) Disconnect(peer.ID) error { 24 return nil 25 } 26 27 // PeerID . 28 func (m *MockPeerManager) PeerID() peer.ID { 29 return m.PID 30 } 31 32 // Host . 33 func (m *MockPeerManager) Host() host.Host { 34 return m.BHost 35 } 36 37 // ENR . 38 func (m MockPeerManager) ENR() *enr.Record { 39 return m.Enr 40 } 41 42 // DiscoveryAddresses . 43 func (m MockPeerManager) DiscoveryAddresses() ([]multiaddr.Multiaddr, error) { 44 if m.FailDiscoveryAddr { 45 return nil, errors.New("fail") 46 } 47 return m.DiscoveryAddr, nil 48 } 49 50 // RefreshENR . 51 func (m MockPeerManager) RefreshENR() {} 52 53 // FindPeersWithSubnet . 54 func (m MockPeerManager) FindPeersWithSubnet(_ context.Context, _ string, _, _ uint64) (bool, error) { 55 return true, nil 56 } 57 58 // AddPingMethod . 59 func (m MockPeerManager) AddPingMethod(_ func(ctx context.Context, id peer.ID) error) {}