MCPcopy Create free account
hub / github.com/git-bug/git-bug / RepoIndexTest

Function RepoIndexTest

repository/repo_testing.go:282–322  ·  view source on GitHub ↗
(t *testing.T, repo RepoIndex)

Source from the content-addressed store, hash-verified

280}
281
282func RepoIndexTest(t *testing.T, repo RepoIndex) {
283 idx, err := repo.GetIndex("a")
284 require.NoError(t, err)
285
286 // simple indexing
287 err = idx.IndexOne("id1", []string{"foo", "bar", "foobar barfoo"})
288 require.NoError(t, err)
289
290 // batched indexing
291 indexer, closer := idx.IndexBatch()
292 err = indexer("id2", []string{"hello", "foo bar"})
293 require.NoError(t, err)
294 err = indexer("id3", []string{"Hola", "Esta bien"})
295 require.NoError(t, err)
296 err = closer()
297 require.NoError(t, err)
298
299 // search
300 res, err := idx.Search([]string{"foobar"})
301 require.NoError(t, err)
302 require.ElementsMatch(t, []string{"id1"}, res)
303
304 res, err = idx.Search([]string{"foo"})
305 require.NoError(t, err)
306 require.ElementsMatch(t, []string{"id1", "id2"}, res)
307
308 // re-indexing an item replace previous versions
309 err = idx.IndexOne("id2", []string{"hello"})
310 require.NoError(t, err)
311
312 res, err = idx.Search([]string{"foo"})
313 require.NoError(t, err)
314 require.ElementsMatch(t, []string{"id1"}, res)
315
316 err = idx.Clear()
317 require.NoError(t, err)
318
319 res, err = idx.Search([]string{"foo"})
320 require.NoError(t, err)
321 require.Empty(t, res)
322}
323
324// helper to test a RepoClock
325func RepoClockTest(t *testing.T, repo RepoClock) {

Callers 1

RepoTestFunction · 0.85

Calls 5

GetIndexMethod · 0.65
IndexOneMethod · 0.65
IndexBatchMethod · 0.65
SearchMethod · 0.65
ClearMethod · 0.65

Tested by

no test coverage detected