49 lines
890 B
Go
49 lines
890 B
Go
package internal
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/flowy-live/llink/internal/utils/flog"
|
|
|
|
"github.com/redis/go-redis/v9"
|
|
|
|
"github.com/flowy-live/llink/internal/utils"
|
|
)
|
|
|
|
func ConnectAndTestRedis(db int) *redis.Client {
|
|
redisHost := utils.MustGetEnv("REDIS_HOST")
|
|
if redisHost == "" {
|
|
flog.Error("must provide REDIS_HOST")
|
|
os.Exit(1)
|
|
}
|
|
redisAddr := fmt.Sprintf("%s:%s", redisHost, "6379")
|
|
rdb := redis.NewClient(&redis.Options{
|
|
Addr: redisAddr,
|
|
Password: "",
|
|
DB: db,
|
|
})
|
|
|
|
err := rdb.Set(context.Background(), "key", "value", 0).Err()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
val, err := rdb.Get(context.Background(), "key").Result()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
flog.Debug("redis test", "key", val)
|
|
if val != "value" {
|
|
panic("unexpected value")
|
|
}
|
|
|
|
err = rdb.Del(context.Background(), "key").Err()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
return rdb
|
|
}
|