Files
grafana/pkg/services/live/managedstream/cache_redis_test.go
T
Stephanie Hingtgen 3084f4bcba [v11.1.x]: Live: Add ha_prefix (#93759) (#93925)
---------

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2024-09-27 13:48:06 -05:00

56 lines
1.1 KiB
Go

package managedstream
import (
"os"
"testing"
"github.com/go-redis/redis/v8"
"github.com/google/uuid"
"github.com/stretchr/testify/require"
)
func TestIntegrationRedisCacheStorage(t *testing.T) {
if testing.Short() {
t.Skip("skipping integration test")
}
u, ok := os.LookupEnv("REDIS_URL")
if !ok || u == "" {
t.Skip("No redis URL supplied")
}
addr := u
db := 0
parsed, err := redis.ParseURL(u)
if err == nil {
addr = parsed.Addr
db = parsed.DB
}
redisClient := redis.NewClient(&redis.Options{
Addr: addr,
DB: db,
})
prefix := uuid.New().String()
t.Cleanup(redisCleanup(t, redisClient, prefix))
c := NewRedisFrameCache(redisClient, prefix)
require.NotNil(t, c)
testFrameCache(t, c)
}
func redisCleanup(t *testing.T, redisClient *redis.Client, prefix string) func() {
return func() {
keys, err := redisClient.Keys(redisClient.Context(), prefix+"*").Result()
if err != nil {
require.NoError(t, err)
}
for _, key := range keys {
_, err := redisClient.Del(redisClient.Context(), key).Result()
require.NoError(t, err)
}
}
}