1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/piaohao-godis

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
redis_script_cmd_test.go 2.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
piaohao Отправлено 02.07.2019 13:37 9a28354
package godis
import (
"github.com/stretchr/testify/assert"
"testing"
)
func TestRedis_Eval(t *testing.T) {
initDb()
redis := NewRedis(option)
defer redis.Close()
s, err := redis.Eval(`return redis.call("get",KEYS[1])`, 1, "godis")
assert.Nil(t, err)
assert.Equal(t, "good", s)
s, err = redis.Eval(`return redis.call("set",KEYS[1],ARGV[1])`, 1, "eval", "godis")
assert.Nil(t, err)
assert.Equal(t, "OK", s)
s, err = redis.Eval(`return redis.call("get",KEYS[1])`, 1, "eval")
assert.Nil(t, err)
assert.Equal(t, "godis", s)
redisBroken := NewRedis(option)
defer redisBroken.Close()
redisBroken.client.connection.host = "localhost1"
redisBroken.Close()
_, err = redisBroken.Eval(`return redis.call("get",KEYS[1])`, 1, "godis")
assert.NotNil(t, err)
}
func TestRedis_EvalByKeyArgs(t *testing.T) {
initDb()
redis := NewRedis(option)
defer redis.Close()
s, err := redis.EvalByKeyArgs(`return redis.call("get",KEYS[1])`, []string{"godis"}, []string{})
assert.Nil(t, err)
assert.Equal(t, "good", s)
s, err = redis.EvalByKeyArgs(`return redis.call("set",KEYS[1],ARGV[1])`, []string{"eval"}, []string{"godis"})
assert.Nil(t, err)
assert.Equal(t, "OK", s)
s, err = redis.EvalByKeyArgs(`return redis.call("get",KEYS[1])`, []string{"eval"}, []string{})
assert.Nil(t, err)
assert.Equal(t, "godis", s)
TestRedis_Set(t)
redisBroken := NewRedis(option)
defer redisBroken.Close()
redisBroken.client.connection.host = "localhost1"
redisBroken.Close()
_, err = redisBroken.EvalByKeyArgs(`return redis.call("get",KEYS[1])`, []string{"godis"}, []string{})
assert.NotNil(t, err)
}
func TestRedis_ScriptLoad(t *testing.T) {
initDb()
redis := NewRedis(option)
defer redis.Close()
sha, err := redis.ScriptLoad(`return redis.call("get",KEYS[1])`)
assert.Nil(t, err)
bools, err := redis.ScriptExists(sha)
assert.Nil(t, err)
assert.Equal(t, []bool{true}, bools)
s, err := redis.EvalSha(sha, 1, "godis")
assert.Nil(t, err)
assert.Equal(t, "good", s)
redisBroken := NewRedis(option)
defer redisBroken.Close()
redisBroken.client.connection.host = "localhost1"
redisBroken.Close()
_, err = redisBroken.ScriptLoad(`return redis.call("get",KEYS[1])`)
assert.NotNil(t, err)
_, err = redisBroken.ScriptExists(sha)
assert.NotNil(t, err)
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/piaohao-godis.git
git@api.gitlife.ru:oschina-mirror/piaohao-godis.git
oschina-mirror
piaohao-godis
piaohao-godis
master