kubo/routing/supernode/server_test.go
Jeromy 7fbaae49be update to go-libp2p 4.1.0
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-10 17:38:10 -08:00

41 lines
1.1 KiB
Go

package supernode
import (
"testing"
key "gx/ipfs/QmYEoKZXHoAToWfhGF3vryhMn3WWhE1o2MasQ8uzY5iDi9/go-key"
dhtpb "gx/ipfs/QmaQrN5Gi5jz2ViKuJ5PU2LXV79D6vGuH7eVQnwxpoRqrd/go-libp2p-kad-dht/pb"
datastore "gx/ipfs/QmbzuUusHqaLLoNTDEVLcSF6vZDHZDLPC7p4bztRvvkXxU/go-datastore"
)
func TestPutProviderDoesntResultInDuplicates(t *testing.T) {
routingBackend := datastore.NewMapDatastore()
k := key.Key("foo")
put := []*dhtpb.Message_Peer{
convPeer("bob", "127.0.0.1/tcp/4001"),
convPeer("alice", "10.0.0.10/tcp/4001"),
}
if err := putRoutingProviders(routingBackend, k, put); err != nil {
t.Fatal(err)
}
if err := putRoutingProviders(routingBackend, k, put); err != nil {
t.Fatal(err)
}
got, err := getRoutingProviders(routingBackend, k)
if err != nil {
t.Fatal(err)
}
if len(got) != 2 {
t.Fatal("should be 2 values, but there are", len(got))
}
}
func convPeer(name string, addrs ...string) *dhtpb.Message_Peer {
var rawAddrs [][]byte
for _, addr := range addrs {
rawAddrs = append(rawAddrs, []byte(addr))
}
return &dhtpb.Message_Peer{Id: &name, Addrs: rawAddrs}
}