github.com/prysmaticlabs/prysm@v1.4.4/beacon-chain/p2p/dial_relay_node_test.go (about)

     1  package p2p
     2  
     3  import (
     4  	"context"
     5  	"fmt"
     6  	"testing"
     7  
     8  	bh "github.com/libp2p/go-libp2p-blankhost"
     9  	swarmt "github.com/libp2p/go-libp2p-swarm/testing"
    10  	"github.com/prysmaticlabs/prysm/shared/testutil/assert"
    11  	"github.com/prysmaticlabs/prysm/shared/testutil/require"
    12  )
    13  
    14  func TestMakePeer_InvalidMultiaddress(t *testing.T) {
    15  	_, err := MakePeer("/ip4")
    16  	assert.ErrorContains(t, "failed to parse multiaddr \"/ip4\"", err, "Expect error when invalid multiaddress was provided")
    17  }
    18  
    19  func TestMakePeer_OK(t *testing.T) {
    20  	a, err := MakePeer("/ip4/127.0.0.1/tcp/5678/p2p/QmUn6ycS8Fu6L462uZvuEfDoSgYX6kqP4aSZWMa7z1tWAX")
    21  	require.NoError(t, err, "Unexpected error when making a valid peer")
    22  	assert.Equal(t, "QmUn6ycS8Fu6L462uZvuEfDoSgYX6kqP4aSZWMa7z1tWAX", a.ID.Pretty(), "Unexpected peer ID")
    23  }
    24  
    25  func TestDialRelayNode_InvalidPeerString(t *testing.T) {
    26  	err := dialRelayNode(context.Background(), nil, "/ip4")
    27  	assert.ErrorContains(t, "failed to parse multiaddr \"/ip4\"", err, "Expected to fail with invalid peer string")
    28  }
    29  
    30  func TestDialRelayNode_OK(t *testing.T) {
    31  	ctx := context.Background()
    32  	relay := bh.NewBlankHost(swarmt.GenSwarm(t, ctx))
    33  	host := bh.NewBlankHost(swarmt.GenSwarm(t, ctx))
    34  	relayAddr := fmt.Sprintf("%s/p2p/%s", relay.Addrs()[0], relay.ID().Pretty())
    35  
    36  	assert.NoError(t, dialRelayNode(ctx, host, relayAddr), "Unexpected error when dialing relay node")
    37  	assert.Equal(t, relay.ID(), host.Peerstore().PeerInfo(relay.ID()).ID, "Host peerstore does not have peer info on relay node")
    38  }