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 }