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) {}