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

Function TestRedisClient

pkg/cache/redis_client_test.go:13–65  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

11)
12
13func TestRedisClient(t *testing.T) {
14 single, err := mockRedisClientSingle()
15 require.Nil(t, err)
16 defer single.Close()
17
18 cluster, err := mockRedisClientCluster()
19 require.Nil(t, err)
20 defer cluster.Close()
21
22 ctx := context.Background()
23
24 tests := []struct {
25 name string
26 client *RedisClient
27 }{
28 {
29 name: "single redis client",
30 client: single,
31 },
32 {
33 name: "cluster redis client",
34 client: cluster,
35 },
36 }
37
38 for _, tt := range tests {
39 t.Run(tt.name, func(t *testing.T) {
40 keys := []string{"key1", "key2", "key3"}
41 bufs := [][]byte{[]byte("data1"), []byte("data2"), []byte("data3")}
42 miss := []string{"miss1", "miss2"}
43
44 // set values
45 err := tt.client.MSet(ctx, keys, bufs)
46 require.Nil(t, err)
47
48 // get keys
49 values, err := tt.client.MGet(ctx, keys)
50 require.Nil(t, err)
51 require.Len(t, values, len(keys))
52 for i, value := range values {
53 require.Equal(t, values[i], value)
54 }
55
56 // get missing keys
57 values, err = tt.client.MGet(ctx, miss)
58 require.Nil(t, err)
59 require.Len(t, values, len(miss))
60 for _, value := range values {
61 require.Nil(t, value)
62 }
63 })
64 }
65}
66
67func mockRedisClientSingle() (*RedisClient, error) {
68 redisServer, err := miniredis.Run()

Callers

nothing calls this directly

Calls 8

mockRedisClientSingleFunction · 0.85
mockRedisClientClusterFunction · 0.85
MSetMethod · 0.80
MGetMethod · 0.80
CloseMethod · 0.65
LenMethod · 0.65
RunMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected