fix "should Object" test error

Signed-off-by: monkey <golang@88.com>
This commit is contained in:
monkey 2021-03-13 18:40:04 +08:00
parent f63e0d666b
commit e722f52cf8
1 changed files with 8 additions and 1 deletions

View File

@ -457,6 +457,7 @@ var _ = Describe("Commands", func() {
})
It("should Object", func() {
start := time.Now()
set := client.Set(ctx, "key", "hello", 0)
Expect(set.Err()).NotTo(HaveOccurred())
Expect(set.Val()).To(Equal("OK"))
@ -470,7 +471,13 @@ var _ = Describe("Commands", func() {
idleTime := client.ObjectIdleTime(ctx, "key")
Expect(idleTime.Err()).NotTo(HaveOccurred())
Expect(idleTime.Val()).To(Equal(time.Duration(0)))
//Redis returned milliseconds/1000, which may cause ObjectIdleTime to be at a critical value,
//should be +1s to deal with the critical value problem.
//if too much time (>1s) is used during command execution, it may also cause the test to fail.
//so the ObjectIdleTime result should be <=now-start+1s
//link: https://github.com/redis/redis/blob/5b48d900498c85bbf4772c1d466c214439888115/src/object.c#L1265-L1272
Expect(idleTime.Val()).To(BeNumerically("<=", time.Now().Sub(start) + time.Second))
})
It("should Persist", func() {