test: skip index search tests when index is empty
2 files changed, 29 insertions(+), 0 deletions(-)
M internal/index/search.go → internal/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.go → internal/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,