github.com/crowdsecurity/crowdsec@v1.6.1/pkg/cache/cache_test.go (about)

     1  package cache
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestCreateSetGet(t *testing.T) {
    11  	err := CacheInit(CacheCfg{Name: "test", Size: 100, TTL: 1 * time.Second})
    12  	assert.Empty(t, err)
    13  	//set & get
    14  	err = SetKey("test", "testkey0", "testvalue1", nil)
    15  	assert.Empty(t, err)
    16  
    17  	ret, err := GetKey("test", "testkey0")
    18  	assert.Equal(t, "testvalue1", ret)
    19  	assert.Empty(t, err)
    20  	//re-set
    21  	err = SetKey("test", "testkey0", "testvalue2", nil)
    22  	assert.Empty(t, err)
    23  	assert.Equal(t, "testvalue1", ret)
    24  	assert.Empty(t, err)
    25  	//expire
    26  	time.Sleep(1500 * time.Millisecond)
    27  	ret, err = GetKey("test", "testkey0")
    28  	assert.Equal(t, "", ret)
    29  	assert.Empty(t, err)
    30  }