github.com/qri-io/qri@v0.10.1-0.20220104210721-c771715036cb/p2p/datasets_test.go (about) 1 package p2p 2 3 import ( 4 "context" 5 "sync" 6 "testing" 7 8 p2ptest "github.com/qri-io/qri/p2p/test" 9 ) 10 11 func TestRequestDatasetsList(t *testing.T) { 12 t.Skip("ramfox: flakey test") 13 ctx := context.Background() 14 factory := p2ptest.NewTestNodeFactory(NewTestableQriNode) 15 testPeers, err := p2ptest.NewTestDirNetwork(ctx, factory) 16 if err != nil { 17 t.Fatalf("error creating network: %s", err.Error()) 18 } 19 if err := p2ptest.ConnectNodes(ctx, testPeers); err != nil { 20 t.Fatalf("error connecting peers: %s", err.Error()) 21 } 22 23 peers := asQriNodes(testPeers) 24 25 t.Logf("testing RequestDatasetList message with %d peers", len(peers)) 26 var wg sync.WaitGroup 27 for i, p1 := range peers { 28 for _, p2 := range peers[i+1:] { 29 wg.Add(1) 30 go func(p1, p2 *QriNode) { 31 defer wg.Done() 32 33 refs, err := p1.RequestDatasetsList(ctx, p2.ID, DatasetsListParams{Limit: 10, Offset: 0}) 34 if err != nil { 35 t.Errorf("%s -> %s error: %s", p1.ID.Pretty(), p2.ID.Pretty(), err.Error()) 36 } 37 if refs == nil { 38 t.Error("profile shouldn't be nil") 39 return 40 } 41 t.Log(refs) 42 }(p1, p2) 43 } 44 } 45 46 wg.Wait() 47 }