MCPcopy
hub / github.com/grafana/tempo / TestTenantIndexFallback

Function TestTenantIndexFallback

tempodb/blocklist/poller_test.go:201–295  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

199}
200
201func TestTenantIndexFallback(t *testing.T) {
202 tests := []struct {
203 name string
204 isTenantIndexBuilder bool
205 errorOnCreateTenantIndex bool
206 pollFallback bool
207 expectsError bool
208 expectsTenantIndexWritten bool
209 staleTenantIndex time.Duration
210 }{
211 {
212 name: "builder writes index",
213 isTenantIndexBuilder: true,
214 expectsTenantIndexWritten: true,
215 },
216 {
217 name: "reader does not write index",
218 isTenantIndexBuilder: false,
219 expectsTenantIndexWritten: false,
220 },
221 {
222 name: "reader does not write index on error if no fallback",
223 isTenantIndexBuilder: false,
224 errorOnCreateTenantIndex: true,
225 pollFallback: false,
226 expectsError: true,
227 expectsTenantIndexWritten: false,
228 },
229 {
230 name: "reader writes index on error if fallback",
231 isTenantIndexBuilder: false,
232 errorOnCreateTenantIndex: true,
233 pollFallback: true,
234 expectsError: false,
235 expectsTenantIndexWritten: true,
236 },
237 {
238 name: "reader does not write index on stale if no fallback",
239 isTenantIndexBuilder: false,
240 pollFallback: false,
241 expectsError: true,
242 expectsTenantIndexWritten: false,
243 staleTenantIndex: time.Second,
244 },
245 {
246 name: "reader writes index on stale if fallback",
247 isTenantIndexBuilder: false,
248 pollFallback: true,
249 expectsError: false,
250 expectsTenantIndexWritten: true,
251 staleTenantIndex: time.Second,
252 },
253 }
254
255 for _, tc := range tests {
256 t.Run(tc.name, func(t *testing.T) {
257 c := &backend.MockCompactor{}
258 r := newMockReader(PerTenant{

Callers

nothing calls this directly

Calls 8

DoMethod · 0.95
newMockReaderFunction · 0.85
newBlocklistFunction · 0.85
NewPollerFunction · 0.85
AddMethod · 0.65
NowMethod · 0.65
RunMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected