github.com/argoproj/argo-cd/v3@v3.2.1/util/cache/inmemory_test.go (about) 1 package cache 2 3 import ( 4 "testing" 5 "time" 6 7 "github.com/stretchr/testify/assert" 8 "github.com/stretchr/testify/require" 9 ) 10 11 type foo struct { 12 Bar string 13 } 14 15 func TestInMemoryCache(t *testing.T) { 16 cache := NewInMemoryCache(1 * time.Hour) 17 // https://stackoverflow.com/questions/46671636/gob-decode-giving-decodevalue-of-unassignable-value-error 18 obj := &foo{} 19 // cache miss 20 err := cache.Get("my-key", obj) 21 assert.Equal(t, ErrCacheMiss, err) 22 // cache hit 23 err = cache.Set(&Item{Key: "my-key", Object: &foo{Bar: "bar"}}) 24 require.NoError(t, err) 25 err = cache.Get("my-key", obj) 26 require.NoError(t, err) 27 assert.Equal(t, &foo{Bar: "bar"}, obj) 28 }