func TestEnumerateChildren(t *testing.T) { bsi := bstest.Mocks(1) ds := NewDAGService(bsi[0]) read := io.LimitReader(u.NewTimeSeededRand(), 1024*1024) root, err := imp.BuildDagFromReader(ds, chunk.NewSizeSplitter(read, 512)) if err != nil { t.Fatal(err) } ks := key.NewKeySet() err = EnumerateChildren(context.Background(), ds, root, ks, false) if err != nil { t.Fatal(err) } var traverse func(n *Node) traverse = func(n *Node) { // traverse dag and check for _, lnk := range n.Links { k := key.Key(lnk.Hash) if !ks.Has(k) { t.Fatal("missing key in set!") } child, err := ds.Get(context.Background(), k) if err != nil { t.Fatal(err) } traverse(child) } } traverse(root) }
func TestEmptyKey(t *testing.T) { ds := dstest.Mock() _, err := ds.Get(context.Background(), key.Key("")) if err != ErrNotFound { t.Error("dag service should error when key is nil", err) } }