42 lines
813 B
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")
|
|
}
|
|
}
|