test(snr/s) put
fix
Brian Tiger Chow committed
Feb 2, 2015 at 04:31 UTC
eeae42b5cc3938063f711cce721a7706a3ab79ed
1 file changed
+40
routing/supernode/server_test.go
new
+40
@@ -0,0 +1,40 @@
1
+package supernode
2
+
3
+import (
4
+ "testing"
5
+
6
+ datastore "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-datastore"
7
+ dhtpb "github.com/jbenet/go-ipfs/routing/dht/pb"
8
+ "github.com/jbenet/go-ipfs/util"
9
+)
10
+
11
+func TestPutProviderDoesntResultInDuplicates(t *testing.T) {
12
+ routingBackend := datastore.NewMapDatastore()
13
+ k := util.Key("foo")
14
+ put := []*dhtpb.Message_Peer{
15
+ convPeer("bob", "127.0.0.1/tcp/4001"),
16
+ convPeer("alice", "10.0.0.10/tcp/4001"),
17
+ }
18
+ if err := putRoutingProviders(routingBackend, k, put); err != nil {
19
+ t.Fatal(err)
20
+ }
21
+ if err := putRoutingProviders(routingBackend, k, put); err != nil {
22
+ t.Fatal(err)
23
+ }
24
+
25
+ got, err := getRoutingProviders(routingBackend, k)
26
+ if err != nil {
27
+ t.Fatal(err)
28
+ }
29
+ if len(got) != 2 {
30
+ t.Fatal("should be 2 values, but there are", len(got))
31
+ }
32
+}
33
+
34
+func convPeer(name string, addrs ...string) *dhtpb.Message_Peer {
35
+ var rawAddrs [][]byte
36
+ for _, addr := range addrs {
37
+ rawAddrs = append(rawAddrs, []byte(addr))
38
+ }
39
+ return &dhtpb.Message_Peer{Id: &name, Addrs: rawAddrs}
40
+}