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

Function Test_WatchPrefix

pkg/ring/kv/dynamodb/client_test.go:336–359  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

334}
335
336func Test_WatchPrefix(t *testing.T) {
337 ddbMock := NewDynamodbClientMock()
338 codecMock := &CodecMock{}
339 c := NewClientMock(ddbMock, codecMock, TestLogger{}, prometheus.NewPedanticRegistry(), defaultPullTime, defaultBackoff)
340 data := map[string]dynamodbItem{}
341 dataKey := []string{"t1", "t2"}
342 data[dataKey[0]] = dynamodbItem{data: []byte(dataKey[0])}
343 data[dataKey[1]] = dynamodbItem{data: []byte(dataKey[1])}
344 calls := 0
345
346 ddbMock.On("Query").Return(data, nil)
347 codecMock.On("Decode").Twice()
348
349 c.WatchPrefix(context.TODO(), key, func(key string, i any) bool {
350 require.EqualValues(t, string(data[key].data), i)
351 delete(data, key)
352 calls++
353 return calls < 2
354 })
355
356 require.True(t, len(data) == 0)
357
358 ddbMock.AssertNumberOfCalls(t, "Query", 1)
359}
360
361func Test_UpdateStaleData(t *testing.T) {
362 ddbMock := NewDynamodbClientMock()

Callers

nothing calls this directly

Calls 3

NewDynamodbClientMockFunction · 0.85
NewClientMockFunction · 0.85
WatchPrefixMethod · 0.65

Tested by

no test coverage detected