MCPcopy Create free account
hub / github.com/cortexproject/cortex / TestGetPostingCardinality

Function TestGetPostingCardinality

pkg/ingester/user_state_test.go:284–317  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

282}
283
284func TestGetPostingCardinality(t *testing.T) {
285 testErr := errors.New("err")
286 for _, tc := range []struct {
287 name string
288 p index.Postings
289 cardinality int
290 err error
291 }{
292 {
293 name: "empty",
294 p: index.EmptyPostings(),
295 },
296 {
297 name: "err",
298 p: index.ErrPostings(testErr),
299 err: testErr,
300 },
301 {
302 name: "cardinality",
303 p: index.NewListPostings([]storage.SeriesRef{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}),
304 cardinality: 10,
305 },
306 } {
307 t.Run(tc.name, func(t *testing.T) {
308 cnt, err := getPostingCardinality(tc.p)
309 if tc.err != nil {
310 require.EqualError(t, err, tc.err.Error())
311 } else {
312 require.NoError(t, err)
313 require.Equal(t, tc.cardinality, cnt)
314 }
315 })
316 }
317}
318
319type mockIndexReader struct {
320 postings map[string]map[string]index.Postings

Callers

nothing calls this directly

Calls 4

getPostingCardinalityFunction · 0.85
RunMethod · 0.65
EqualMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected