all repos — searchix @ e2b72135312274360853f51e817b83d1ccf3e5a9

Search engine for NixOS, nix-darwin, home-manager and NUR users

test: skip index search tests when index is empty

Alan Pearce
commit

e2b72135312274360853f51e817b83d1ccf3e5a9

parent

4468a4fd938ba7bd3b9255d5e382106c93a50d92

2 files changed, 29 insertions(+), 0 deletions(-)

changed files
M internal/index/search.gointernal/index/search.go
@@ -255,6 +255,26 @@
return index.search(ctx, source, search) } +func (index *ReadIndex) Count(source *config.Source) (uint64, error) { + if source == nil { + count, err := index.index.DocCount() + if err != nil { + return 0, fault.Wrap(err) + } + + return count, nil + } + + query := setField(bleve.NewTermQuery(source.Key), "Source") + req := bleve.NewSearchRequest(query) + res, err := index.index.Search(req) + if err != nil { + return 0, fault.Wrap(err) + } + + return res.Total, nil +} + func (index *ReadIndex) Close() error { err := index.index.Close() if err != nil {
M internal/index/search_test.gointernal/index/search_test.go
@@ -63,6 +63,15 @@ if source == nil || !source.Enable {
t.Fatal("expected source to exist and be enabled") } + count, err := read.Count(source) + if err != nil { + t.Fatal("could not get index object count") + } + + if count == 0 { + t.Skip("expected index to contain objects") + } + t.Run("git packages order", func(t *testing.T) { result, err := read.Search( ctx,