gitee.com/liuxuezhan/go-micro-v1.18.0@v1.0.0/store/memory/memory_test.go (about) 1 package memory 2 3 import ( 4 "testing" 5 "time" 6 7 "gitee.com/liuxuezhan/go-micro-v1.18.0/store" 8 ) 9 10 func TestReadRecordExpire(t *testing.T) { 11 s := NewStore() 12 13 var ( 14 key = "foo" 15 expire = 100 * time.Millisecond 16 ) 17 rec := &store.Record{ 18 Key: key, 19 Value: nil, 20 Expiry: expire, 21 } 22 s.Write(rec) 23 24 rrec, err := s.Read(key) 25 if err != nil { 26 t.Fatal(err) 27 } 28 if rrec[0].Expiry >= expire { 29 t.Fatal("expiry of read record is not changed") 30 } 31 32 time.Sleep(expire) 33 34 if _, err := s.Read(key); err != store.ErrNotFound { 35 t.Fatal("expire elapsed, but key still accessable") 36 } 37 }