func TestMultipleAddrsPerPeer(t *testing.T) { var bsps []config.BootstrapPeer for i := 0; i < 10; i++ { pid, err := testutil.RandPeerID() if err != nil { t.Fatal(err) } addr := fmt.Sprintf("/ip4/127.0.0.1/tcp/5001/ipfs/%s", pid.Pretty()) bsp1, err := config.ParseBootstrapPeer(addr) if err != nil { t.Fatal(err) } addr = fmt.Sprintf("/ip4/127.0.0.1/udp/5002/utp/ipfs/%s", pid.Pretty()) bsp2, err := config.ParseBootstrapPeer(addr) if err != nil { t.Fatal(err) } bsps = append(bsps, bsp1, bsp2) } pinfos := toPeerInfos(bsps) if len(pinfos) != len(bsps)/2 { t.Fatal("expected fewer peers") } }
func TestOfflineRouterLocal(t *testing.T) { ctx := context.Background() nds := ds.NewMapDatastore() privkey, _, _ := testutil.RandTestKeyPair(128) offline := NewOfflineRouter(nds, privkey) id, _ := testutil.RandPeerID() _, err := offline.FindPeer(ctx, id) if err != ErrOffline { t.Fatal("OfflineRouting should alert that its offline") } cid, _ := testutil.RandCidV0() pChan := offline.FindProvidersAsync(ctx, cid, 1) p, ok := <-pChan if ok { t.Fatalf("FindProvidersAsync did not return a closed channel. Instead we got %+v !", p) } cid, _ = testutil.RandCidV0() err = offline.Provide(ctx, cid) if err != ErrOffline { t.Fatal("OfflineRouting should alert that its offline") } err = offline.Bootstrap(ctx) if err != nil { t.Fatal("You shouldn't be able to bootstrap offline routing.") } }
func TestSubsetWhenMaxIsGreaterThanLengthOfSlice(t *testing.T) { var ps []pstore.PeerInfo sizeofSlice := 100 for i := 0; i < sizeofSlice; i++ { pid, err := testutil.RandPeerID() if err != nil { t.Fatal(err) } ps = append(ps, pstore.PeerInfo{ID: pid}) } out := randomSubsetOfPeers(ps, 2*sizeofSlice) if len(out) != len(ps) { t.Fail() } }