github.com/prysmaticlabs/prysm@v1.4.4/beacon-chain/rpc/prysm/v1alpha1/debug/p2p_test.go (about)

     1  package debug
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	"github.com/golang/protobuf/ptypes/empty"
     8  	mockP2p "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing"
     9  	ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1"
    10  	"github.com/prysmaticlabs/prysm/shared/testutil/assert"
    11  	"github.com/prysmaticlabs/prysm/shared/testutil/require"
    12  )
    13  
    14  func TestDebugServer_GetPeer(t *testing.T) {
    15  	peersProvider := &mockP2p.MockPeersProvider{}
    16  	mP2P := mockP2p.NewTestP2P(t)
    17  	ds := &Server{
    18  		PeersFetcher: peersProvider,
    19  		PeerManager:  &mockP2p.MockPeerManager{BHost: mP2P.BHost},
    20  	}
    21  	firstPeer := peersProvider.Peers().All()[0]
    22  
    23  	res, err := ds.GetPeer(context.Background(), &ethpb.PeerRequest{PeerId: firstPeer.String()})
    24  	require.NoError(t, err)
    25  	require.Equal(t, firstPeer.String(), res.PeerId, "Unexpected peer ID")
    26  
    27  	assert.Equal(t, int(ethpb.PeerDirection_INBOUND), int(res.Direction), "Expected 1st peer to be an inbound connection")
    28  	assert.Equal(t, ethpb.ConnectionState_CONNECTED, res.ConnectionState, "Expected peer to be connected")
    29  }
    30  
    31  func TestDebugServer_ListPeers(t *testing.T) {
    32  	peersProvider := &mockP2p.MockPeersProvider{}
    33  	mP2P := mockP2p.NewTestP2P(t)
    34  	ds := &Server{
    35  		PeersFetcher: peersProvider,
    36  		PeerManager:  &mockP2p.MockPeerManager{BHost: mP2P.BHost},
    37  	}
    38  
    39  	res, err := ds.ListPeers(context.Background(), &empty.Empty{})
    40  	require.NoError(t, err)
    41  	assert.Equal(t, 2, len(res.Responses))
    42  
    43  	assert.Equal(t, int(ethpb.PeerDirection_INBOUND), int(res.Responses[0].Direction), "Expected 1st peer to be an inbound")
    44  	if len(res.Responses[0].ListeningAddresses) == 0 {
    45  		t.Errorf("Expected 1st peer to have a multiaddress, instead they have no addresses")
    46  	}
    47  	assert.Equal(t, ethpb.PeerDirection_OUTBOUND, res.Responses[1].Direction, "Expected 2st peer to be an outbound connection")
    48  	if len(res.Responses[1].ListeningAddresses) == 0 {
    49  		t.Errorf("Expected 2nd peer to have a multiaddress, instead they have no addresses")
    50  	}
    51  }