feat: add MustNewRedis (#2824)
* feat: add MustNewRedis * feat: add MustNewRedis * feat: add MustNewRedis * x * x * fix ut * x * x * x * x * x
This commit is contained in:
@@ -16,6 +16,116 @@ import (
|
||||
"github.com/zeromicro/go-zero/core/stringx"
|
||||
)
|
||||
|
||||
func TestNewRedis(t *testing.T) {
|
||||
r1, err := miniredis.Run()
|
||||
assert.NoError(t, err)
|
||||
defer r1.Close()
|
||||
|
||||
r2, err := miniredis.Run()
|
||||
assert.NoError(t, err)
|
||||
defer r2.Close()
|
||||
r2.SetError("mock")
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
RedisConf
|
||||
ok bool
|
||||
redisErr bool
|
||||
}{
|
||||
{
|
||||
name: "missing host",
|
||||
RedisConf: RedisConf{
|
||||
Host: "",
|
||||
Type: NodeType,
|
||||
Pass: "",
|
||||
},
|
||||
ok: false,
|
||||
},
|
||||
{
|
||||
name: "missing type",
|
||||
RedisConf: RedisConf{
|
||||
Host: "localhost:6379",
|
||||
Type: "",
|
||||
Pass: "",
|
||||
},
|
||||
ok: false,
|
||||
},
|
||||
{
|
||||
name: "ok",
|
||||
RedisConf: RedisConf{
|
||||
Host: r1.Addr(),
|
||||
Type: NodeType,
|
||||
Pass: "",
|
||||
},
|
||||
ok: true,
|
||||
},
|
||||
{
|
||||
name: "ok",
|
||||
RedisConf: RedisConf{
|
||||
Host: r1.Addr(),
|
||||
Type: ClusterType,
|
||||
Pass: "",
|
||||
},
|
||||
ok: true,
|
||||
},
|
||||
{
|
||||
name: "password",
|
||||
RedisConf: RedisConf{
|
||||
Host: r1.Addr(),
|
||||
Type: NodeType,
|
||||
Pass: "pw",
|
||||
},
|
||||
ok: true,
|
||||
},
|
||||
{
|
||||
name: "tls",
|
||||
RedisConf: RedisConf{
|
||||
Host: r1.Addr(),
|
||||
Type: NodeType,
|
||||
Tls: true,
|
||||
},
|
||||
ok: true,
|
||||
},
|
||||
{
|
||||
name: "node error",
|
||||
RedisConf: RedisConf{
|
||||
Host: r2.Addr(),
|
||||
Type: NodeType,
|
||||
Pass: "",
|
||||
},
|
||||
ok: true,
|
||||
redisErr: true,
|
||||
},
|
||||
{
|
||||
name: "cluster error",
|
||||
RedisConf: RedisConf{
|
||||
Host: r2.Addr(),
|
||||
Type: ClusterType,
|
||||
Pass: "",
|
||||
},
|
||||
ok: true,
|
||||
redisErr: true,
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(stringx.RandId(), func(t *testing.T) {
|
||||
rds, err := NewRedis(test.RedisConf)
|
||||
if test.ok {
|
||||
if test.redisErr {
|
||||
assert.Error(t, err)
|
||||
assert.Nil(t, rds)
|
||||
} else {
|
||||
assert.NoError(t, err)
|
||||
assert.NotNil(t, rds)
|
||||
}
|
||||
} else {
|
||||
assert.Error(t, err)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestRedis_Decr(t *testing.T) {
|
||||
runOnRedis(t, func(client *Redis) {
|
||||
_, err := New(client.Addr, badType()).Decr("a")
|
||||
|
||||
Reference in New Issue
Block a user