Files
jx-callback/business/jxutils/cache/redis/redis_test.go
gazebo 9bb30affc4 - move Cacher from globals to api
- vendorPromotionID for CreatePromotion
- LockPromotionSkus
2018-11-07 13:17:25 +08:00

86 lines
1.8 KiB
Go

package redis
import (
"testing"
"git.rosy.net.cn/jx-callback/business/jxutils/cache"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/beegodb"
"github.com/astaxie/beego"
)
var (
cacher cache.ICacher
)
func init() {
//E:/goprojects/src/git.rosy.net.cn/jx-callback/conf/app.conf
///Users/xujianhua/go/src/git.rosy.net.cn/jx-callback/conf/app.conf
beego.InitBeegoBeforeTest("/Users/xujianhua/go/src/git.rosy.net.cn/jx-callback/conf/app.conf")
beego.BConfig.RunMode = "dev" // InitBeegoBeforeTest会将runmode设置为test
globals.Init()
beegodb.Init()
// api.Init()
cacher = New("localhost", 6379, "")
}
type FuckYou struct {
Key string `json:"key"`
}
func TestIt(t *testing.T) {
cacher.FlushKeys("")
if cacher.Get("key") != nil {
t.Fatal("should get nothing")
}
if err := cacher.Set("key", map[string]interface{}{
"key": "value",
}, 0); err != nil {
t.Fatal(err)
}
if cacher.Get("key") == nil {
t.Fatal("should not get nothing")
}
result := new(FuckYou)
cacher.GetAs("key", result)
if result.Key != "value" {
t.Fatal("should get value")
}
}
func TestKeys(t *testing.T) {
cacher.FlushKeys("")
keys, err := cacher.Keys("")
if err != nil {
t.Fatal(err)
}
if len(keys) != 0 {
t.Fatal("keys should be empty here")
}
cacher.Set("key1", 1, 0)
cacher.Set("key2", 2, 0)
cacher.Set("key22", 3, 0)
cacher.Set("key23", 4, 0)
cacher.Set("key24", 5, 0)
keys, err = cacher.Keys("")
if len(keys) != 5 {
t.Fatal("keys should be 5 here")
}
keys, err = cacher.Keys("key")
if len(keys) != 5 {
t.Fatal("keys should be 5 here")
}
keys, err = cacher.Keys("key2")
if len(keys) != 4 {
t.Fatal("keys should be 4 here")
}
keys, err = cacher.Keys("key22")
if len(keys) != 1 {
t.Fatal("keys should be 1 here")
}
}