kubo/peer/peer_test.go
2014-11-16 07:00:58 -08:00

66 lines
1.3 KiB
Go

package peer
import (
"testing"
ma "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
mh "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multihash"
)
func TestNetAddress(t *testing.T) {
tcp, err := ma.NewMultiaddr("/ip4/127.0.0.1/tcp/1234")
if err != nil {
t.Error(err)
return
}
udp, err := ma.NewMultiaddr("/ip4/127.0.0.1/udp/2345")
if err != nil {
t.Error(err)
return
}
mh, err := mh.FromHexString("11140beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33")
if err != nil {
t.Error(err)
return
}
p := WithID(ID(mh))
p.AddAddress(tcp)
p.AddAddress(udp)
p.AddAddress(tcp)
if len(p.Addresses()) == 3 {
t.Error("added same address twice")
}
tcp2 := p.NetAddress("tcp")
if tcp2 != tcp {
t.Error("NetAddress lookup failed", tcp, tcp2)
}
udp2 := p.NetAddress("udp")
if udp2 != udp {
t.Error("NetAddress lookup failed", udp, udp2)
}
}
func TestStringMethodWithSmallId(t *testing.T) {
p := WithID([]byte(string(0)))
p1, ok := p.(*peer)
if !ok {
t.Fatal("WithID doesn't return a peer")
}
p1.String()
}
func TestDefaultType(t *testing.T) {
t.Log("Ensure that peers are initialized to Unspecified by default")
p := peer{}
if p.GetType() != Unspecified {
t.Fatalf("Peer's default type is was not `Unspecified`")
}
}