github.com/zignig/go-ipfs@v0.0.0-20141111235910-c9e5fdf55a52/peer/peer_test.go (about)

     1  package peer
     2  
     3  import (
     4  	"testing"
     5  
     6  	ma "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
     7  	mh "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multihash"
     8  )
     9  
    10  func TestNetAddress(t *testing.T) {
    11  
    12  	tcp, err := ma.NewMultiaddr("/ip4/127.0.0.1/tcp/1234")
    13  	if err != nil {
    14  		t.Error(err)
    15  		return
    16  	}
    17  
    18  	udp, err := ma.NewMultiaddr("/ip4/127.0.0.1/udp/2345")
    19  	if err != nil {
    20  		t.Error(err)
    21  		return
    22  	}
    23  
    24  	mh, err := mh.FromHexString("11140beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33")
    25  	if err != nil {
    26  		t.Error(err)
    27  		return
    28  	}
    29  
    30  	p := WithID(ID(mh))
    31  	p.AddAddress(tcp)
    32  	p.AddAddress(udp)
    33  	p.AddAddress(tcp)
    34  
    35  	if len(p.Addresses()) == 3 {
    36  		t.Error("added same address twice")
    37  	}
    38  
    39  	tcp2 := p.NetAddress("tcp")
    40  	if tcp2 != tcp {
    41  		t.Error("NetAddress lookup failed", tcp, tcp2)
    42  	}
    43  
    44  	udp2 := p.NetAddress("udp")
    45  	if udp2 != udp {
    46  		t.Error("NetAddress lookup failed", udp, udp2)
    47  	}
    48  }