mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-04 22:29:23 +08:00
40 lines
1016 B
Go
40 lines
1016 B
Go
package supernode
|
|
|
|
import (
|
|
"testing"
|
|
|
|
dhtpb "gx/ipfs/QmRKEzkaiwud2LnwJ9CgBrKw122ddKPTMtLizV3DNimVRD/go-libp2p-kad-dht/pb"
|
|
datastore "gx/ipfs/QmVSase1JP7cq9QkPT46oNwdp9pT6kBkG3oqS14y3QcZjG/go-datastore"
|
|
)
|
|
|
|
func TestPutProviderDoesntResultInDuplicates(t *testing.T) {
|
|
routingBackend := datastore.NewMapDatastore()
|
|
k := "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}
|
|
}
|