github.com/argoproj/argo-cd/v2@v2.10.5/util/cache/cache_test.go (about) 1 package cache 2 3 import ( 4 "testing" 5 "time" 6 7 "github.com/spf13/cobra" 8 "github.com/stretchr/testify/assert" 9 ) 10 11 func TestAddCacheFlagsToCmd(t *testing.T) { 12 cache, err := AddCacheFlagsToCmd(&cobra.Command{})() 13 assert.NoError(t, err) 14 assert.Equal(t, 24*time.Hour, cache.client.(*redisCache).expiration) 15 } 16 17 func TestCacheClient(t *testing.T) { 18 client := NewInMemoryCache(60 * time.Second) 19 cache := NewCache(client) 20 t.Run("SetItem", func(t *testing.T) { 21 err := cache.SetItem("foo", "bar", 60*time.Second, false) 22 assert.NoError(t, err) 23 }) 24 t.Run("GetItem", func(t *testing.T) { 25 var val string 26 err := cache.GetItem("foo", &val) 27 assert.NoError(t, err) 28 assert.Equal(t, "bar", val) 29 }) 30 t.Run("DeleteItem", func(t *testing.T) { 31 err := cache.SetItem("foo", "bar", 0, true) 32 assert.NoError(t, err) 33 var val string 34 err = cache.GetItem("foo", &val) 35 assert.Error(t, err) 36 assert.Empty(t, val) 37 }) 38 t.Run("Check for nil items", func(t *testing.T) { 39 err := cache.SetItem("foo", nil, 0, false) 40 assert.Error(t, err) 41 assert.Contains(t, err.Error(), "cannot set item") 42 err = cache.GetItem("foo", nil) 43 assert.Error(t, err) 44 assert.Contains(t, err.Error(), "cannot get item") 45 }) 46 }