kubo/peer/peer_test.go
Brian Tiger Chow d77c4bb5e0 refactor(peer): create peer through peerstore
for safety!

use mockpeer.WithID methods to create peers in tests

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 02:10:42 -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 := NewPeerstore().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 := NewPeerstore().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`")
}
}