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  }