forked from mirror/ledisdb
update test for ttl and bitmap
This commit is contained in:
parent
00abaccbf2
commit
eb3f420cc8
|
@ -344,22 +344,6 @@ func TestBitErrorParams(t *testing.T) {
|
|||
t.Fatal("invalid err of %v", err)
|
||||
}
|
||||
|
||||
if _, err := c.Do("bexpire", "test_bexpire"); err == nil {
|
||||
t.Fatal("invalid err of %v", err)
|
||||
}
|
||||
|
||||
if _, err := c.Do("bexpireat", "test_bexpireat"); err == nil {
|
||||
t.Fatal("invalid err of %v", err)
|
||||
}
|
||||
|
||||
if _, err := c.Do("bttl"); err == nil {
|
||||
t.Fatal("invalid err of %v", err)
|
||||
}
|
||||
|
||||
if _, err := c.Do("bpersist"); err == nil {
|
||||
t.Fatal("invalid err of %v", err)
|
||||
}
|
||||
|
||||
//bexpire
|
||||
if _, err := c.Do("bexpire", "test_bexpire"); err == nil {
|
||||
t.Fatal("invalid err of %v", err)
|
||||
|
|
|
@ -79,3 +79,353 @@ func TestKVExpire(t *testing.T) {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
func TestSetExpire(t *testing.T) {
|
||||
c := getTestConn()
|
||||
defer c.Close()
|
||||
|
||||
k := "set_ttl"
|
||||
c.Do("sadd", k, "123")
|
||||
|
||||
// expire + ttl
|
||||
exp := int64(10)
|
||||
if n, err := ledis.Int(c.Do("sexpire", k, exp)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if ttl, err := ledis.Int64(c.Do("sttl", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if ttl != exp {
|
||||
t.Fatal(ttl)
|
||||
}
|
||||
|
||||
// expireat + ttl
|
||||
tm := now() + 3
|
||||
if n, err := ledis.Int(c.Do("sexpireat", k, tm)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if ttl, err := ledis.Int64(c.Do("sttl", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if ttl != 3 {
|
||||
t.Fatal(ttl)
|
||||
}
|
||||
|
||||
kErr := "not_exist_ttl"
|
||||
|
||||
// err - expire, expireat
|
||||
if n, err := ledis.Int(c.Do("sexpire", kErr, tm)); err != nil || n != 0 {
|
||||
t.Fatal(false)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("sexpireat", kErr, tm)); err != nil || n != 0 {
|
||||
t.Fatal(false)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("sttl", kErr)); err != nil || n != -1 {
|
||||
t.Fatal(false)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("spersist", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("sexpire", k, 10)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("spersist", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestListExpire(t *testing.T) {
|
||||
c := getTestConn()
|
||||
defer c.Close()
|
||||
|
||||
k := "list_ttl"
|
||||
c.Do("rpush", k, "123")
|
||||
|
||||
// expire + ttl
|
||||
exp := int64(10)
|
||||
if n, err := ledis.Int(c.Do("lexpire", k, exp)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if ttl, err := ledis.Int64(c.Do("lttl", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if ttl != exp {
|
||||
t.Fatal(ttl)
|
||||
}
|
||||
|
||||
// expireat + ttl
|
||||
tm := now() + 3
|
||||
if n, err := ledis.Int(c.Do("lexpireat", k, tm)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if ttl, err := ledis.Int64(c.Do("lttl", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if ttl != 3 {
|
||||
t.Fatal(ttl)
|
||||
}
|
||||
|
||||
kErr := "not_exist_ttl"
|
||||
|
||||
// err - expire, expireat
|
||||
if n, err := ledis.Int(c.Do("lexpire", kErr, tm)); err != nil || n != 0 {
|
||||
t.Fatal(false)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("lexpireat", kErr, tm)); err != nil || n != 0 {
|
||||
t.Fatal(false)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("lttl", kErr)); err != nil || n != -1 {
|
||||
t.Fatal(false)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("lpersist", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("lexpire", k, 10)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("lpersist", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestHashExpire(t *testing.T) {
|
||||
c := getTestConn()
|
||||
defer c.Close()
|
||||
|
||||
k := "hash_ttl"
|
||||
c.Do("hset", k, "f", 123)
|
||||
|
||||
// expire + ttl
|
||||
exp := int64(10)
|
||||
if n, err := ledis.Int(c.Do("hexpire", k, exp)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if ttl, err := ledis.Int64(c.Do("httl", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if ttl != exp {
|
||||
t.Fatal(ttl)
|
||||
}
|
||||
|
||||
// expireat + ttl
|
||||
tm := now() + 3
|
||||
if n, err := ledis.Int(c.Do("hexpireat", k, tm)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if ttl, err := ledis.Int64(c.Do("httl", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if ttl != 3 {
|
||||
t.Fatal(ttl)
|
||||
}
|
||||
|
||||
kErr := "not_exist_ttl"
|
||||
|
||||
// err - expire, expireat
|
||||
if n, err := ledis.Int(c.Do("hexpire", kErr, tm)); err != nil || n != 0 {
|
||||
t.Fatal(false)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("hexpireat", kErr, tm)); err != nil || n != 0 {
|
||||
t.Fatal(false)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("httl", kErr)); err != nil || n != -1 {
|
||||
t.Fatal(false)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("hpersist", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("hexpire", k, 10)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("hpersist", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestZsetExpire(t *testing.T) {
|
||||
c := getTestConn()
|
||||
defer c.Close()
|
||||
|
||||
k := "zset_ttl"
|
||||
c.Do("zadd", k, 123, "m")
|
||||
|
||||
// expire + ttl
|
||||
exp := int64(10)
|
||||
if n, err := ledis.Int(c.Do("zexpire", k, exp)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if ttl, err := ledis.Int64(c.Do("zttl", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if ttl != exp {
|
||||
t.Fatal(ttl)
|
||||
}
|
||||
|
||||
// expireat + ttl
|
||||
tm := now() + 3
|
||||
if n, err := ledis.Int(c.Do("zexpireat", k, tm)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if ttl, err := ledis.Int64(c.Do("zttl", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if ttl != 3 {
|
||||
t.Fatal(ttl)
|
||||
}
|
||||
|
||||
kErr := "not_exist_ttl"
|
||||
|
||||
// err - expire, expireat
|
||||
if n, err := ledis.Int(c.Do("zexpire", kErr, tm)); err != nil || n != 0 {
|
||||
t.Fatal(false)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("zexpireat", kErr, tm)); err != nil || n != 0 {
|
||||
t.Fatal(false)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("zttl", kErr)); err != nil || n != -1 {
|
||||
t.Fatal(false)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("zpersist", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("zexpire", k, 10)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("zpersist", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestBitmapExpire(t *testing.T) {
|
||||
c := getTestConn()
|
||||
defer c.Close()
|
||||
|
||||
k := "bit_ttl"
|
||||
c.Do("bsetbit", k, 0, 1)
|
||||
|
||||
// expire + ttl
|
||||
exp := int64(10)
|
||||
if n, err := ledis.Int(c.Do("bexpire", k, exp)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if ttl, err := ledis.Int64(c.Do("bttl", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if ttl != exp {
|
||||
t.Fatal(ttl)
|
||||
}
|
||||
|
||||
// expireat + ttl
|
||||
tm := now() + 3
|
||||
if n, err := ledis.Int(c.Do("bexpireat", k, tm)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if ttl, err := ledis.Int64(c.Do("bttl", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if ttl != 3 {
|
||||
t.Fatal(ttl)
|
||||
}
|
||||
|
||||
kErr := "not_exist_ttl"
|
||||
|
||||
// err - expire, expireat
|
||||
if n, err := ledis.Int(c.Do("bexpire", kErr, tm)); err != nil || n != 0 {
|
||||
t.Fatal(false)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("bexpireat", kErr, tm)); err != nil || n != 0 {
|
||||
t.Fatal(false)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("bttl", kErr)); err != nil || n != -1 {
|
||||
t.Fatal(false)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("bpersist", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("bexpire", k, 10)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
if n, err := ledis.Int(c.Do("bpersist", k)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if n != 1 {
|
||||
t.Fatal(n)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue