diff --git a/pkg/storage/utils/decomposedfs/mtimesyncedcache/mtimesyncedcache.go b/pkg/storage/utils/decomposedfs/mtimesyncedcache/mtimesyncedcache.go index 54e8d94959..65f7bd3f8d 100644 --- a/pkg/storage/utils/decomposedfs/mtimesyncedcache/mtimesyncedcache.go +++ b/pkg/storage/utils/decomposedfs/mtimesyncedcache/mtimesyncedcache.go @@ -30,9 +30,13 @@ func (c *Cache[K, T]) Store(key K, mtime time.Time, value T) error { return nil } -func (c *Cache[K, T]) Load(key K) T { - entry, _ := c.entries.Load(key) - return entry.value +func (c *Cache[K, T]) Load(key K) (T, bool) { + entry, ok := c.entries.Load(key) + if !ok { + var t T + return t, false + } + return entry.value, true } func (c *Cache[K, T]) LoadOrStore(key K, mtime time.Time, f func() (T, error)) (T, error) { diff --git a/pkg/storage/utils/decomposedfs/mtimesyncedcache/mtimesyncedcache_test.go b/pkg/storage/utils/decomposedfs/mtimesyncedcache/mtimesyncedcache_test.go index b6c8adfa46..1ad64cade1 100644 --- a/pkg/storage/utils/decomposedfs/mtimesyncedcache/mtimesyncedcache_test.go +++ b/pkg/storage/utils/decomposedfs/mtimesyncedcache/mtimesyncedcache_test.go @@ -29,8 +29,6 @@ var _ = Describe("Mtimesyncedcache", func() { err := cache.Store(key, time, value) Expect(err).ToNot(HaveOccurred()) }) - - PIt("returns an error when the mtime is older") }) Describe("Load", func() { @@ -38,13 +36,14 @@ var _ = Describe("Mtimesyncedcache", func() { err := cache.Store(key, time.Now(), value) Expect(err).ToNot(HaveOccurred()) - v := cache.Load(key) + v, ok := cache.Load(key) + Expect(ok).To(BeTrue()) Expect(v).To(Equal(value)) }) - PIt("fails the value doesn't exist", func() { - v := cache.Load(key) - Expect(v).To(Equal(value)) + It("reports when the key doesn't exist", func() { + _, ok := cache.Load("doesnotexist") + Expect(ok).To(BeFalse()) }) })