github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/pkg/storage/stores/tsdb/util_test.go (about) 1 package tsdb 2 3 import ( 4 "context" 5 "testing" 6 "time" 7 8 "github.com/prometheus/common/model" 9 "github.com/prometheus/prometheus/model/labels" 10 "github.com/stretchr/testify/require" 11 12 "github.com/grafana/loki/pkg/storage/stores/tsdb/index" 13 ) 14 15 type LoadableSeries struct { 16 Labels labels.Labels 17 Chunks index.ChunkMetas 18 } 19 20 func BuildIndex(t *testing.T, dir, tenant string, cases []LoadableSeries) *TSDBFile { 21 b := NewBuilder() 22 23 for _, s := range cases { 24 b.AddSeries(s.Labels, model.Fingerprint(s.Labels.Hash()), s.Chunks) 25 } 26 27 dst, err := b.Build(context.Background(), dir, func(from, through model.Time, checksum uint32) Identifier { 28 id := SingleTenantTSDBIdentifier{ 29 TS: time.Now(), 30 From: from, 31 Through: through, 32 Checksum: checksum, 33 } 34 return newPrefixedIdentifier(id, dir, dir) 35 }) 36 require.Nil(t, err) 37 38 idx, err := NewShippableTSDBFile(dst, false) 39 require.Nil(t, err) 40 return idx 41 }