mirror of https://github.com/helm/helm
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.1 KiB
53 lines
1.1 KiB
package cache
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestNoOpCache(t *testing.T) {
|
|
cache := NewNoOpCache[string]()
|
|
|
|
t.Run("Set", func(t *testing.T) {
|
|
cache.Set("key", "value")
|
|
// No assertion needed as it's a no-op
|
|
})
|
|
|
|
t.Run("Get", func(t *testing.T) {
|
|
value, exists := cache.Get("key")
|
|
assert.False(t, exists)
|
|
assert.Empty(t, value)
|
|
})
|
|
}
|
|
|
|
func TestConcurrentMapCache(t *testing.T) {
|
|
cache := NewConcurrentMapCache[int]()
|
|
|
|
t.Run("Set and Get", func(t *testing.T) {
|
|
cache.Set("key1", 42)
|
|
cache.Set("key2", 84)
|
|
|
|
value1, exists1 := cache.Get("key1")
|
|
assert.True(t, exists1)
|
|
assert.Equal(t, 42, value1)
|
|
|
|
value2, exists2 := cache.Get("key2")
|
|
assert.True(t, exists2)
|
|
assert.Equal(t, 84, value2)
|
|
})
|
|
|
|
t.Run("Get non-existent key", func(t *testing.T) {
|
|
value, exists := cache.Get("non-existent")
|
|
assert.False(t, exists)
|
|
assert.Zero(t, value)
|
|
})
|
|
|
|
t.Run("Overwrite existing key", func(t *testing.T) {
|
|
cache.Set("key1", 100)
|
|
value, exists := cache.Get("key1")
|
|
assert.True(t, exists)
|
|
assert.Equal(t, 100, value)
|
|
})
|
|
}
|