MyUrls/redis_test.go

42 lines
813 B
Go

package main
import (
"context"
"testing"
"github.com/redis/go-redis/v9"
"github.com/stretchr/testify/assert"
)
var mockRedisOptions = &redis.Options{
Addr: "localhost:6379",
Password: "",
DB: 0,
}
func TestGetRedisClient(t *testing.T) {
client := GetRedisClient()
assert.Nil(t, client)
initRedisClient(mockRedisOptions)
client = GetRedisClient()
assert.NotNil(t, client)
// Test redis exec commands and response
ctx := context.Background()
rs := client.Ping(ctx)
assert.Nil(t, rs.Err())
assert.Equal(t, "PONG", rs.Val())
rsCmd := GetRedisClient().Do(ctx, "dbsize")
assert.Nil(t, rsCmd.Err())
}
func BenchmarkGetRedisClient(b *testing.B) {
initRedisClient(mockRedisOptions)
b.ResetTimer()
for i := 0; i < b.N; i++ {
GetRedisClient().Get(context.Background(), "key")
}
}