From 40acb4251fc7ab171d4ac797ce0a8244a0303bc7 Mon Sep 17 00:00:00 2001 From: Umputun Date: Thu, 31 May 2018 22:40:28 -0500 Subject: [PATCH] unhappy path for cache tests --- app/rest/cache/cache_test.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/app/rest/cache/cache_test.go b/app/rest/cache/cache_test.go index f87b239c..483b49a0 100644 --- a/app/rest/cache/cache_test.go +++ b/app/rest/cache/cache_test.go @@ -1,6 +1,7 @@ package cache import ( + "errors" "fmt" "net/http" "sync" @@ -40,6 +41,11 @@ func TestLoadingCache_Get(t *testing.T) { lc.Flush() time.Sleep(100 * time.Millisecond) // let postFn to do its thing assert.Equal(t, int32(1), atomic.LoadInt32(&postFnCall)) + + res, err = lc.Get("key", func() ([]byte, error) { + return nil, errors.New("err") + }) + assert.NotNil(t, err) } func TestLoadingCache_MaxKeys(t *testing.T) { @@ -241,6 +247,19 @@ func TestLoadingCache_Flush(t *testing.T) { } } +func TestLoadingCache_FlushFailed(t *testing.T) { + lc := NewLoadingCache() + val, err := lc.Get("invalid-composite", func() ([]byte, error) { + return []byte("value"), nil + }) + assert.Nil(t, err) + assert.Equal(t, "value", string(val)) + assert.Equal(t, 1, lc.(*loadingCache).bytesCache.Len()) + + lc.Flush("invalid-composite") + assert.Equal(t, 1, lc.(*loadingCache).bytesCache.Len()) +} + func TestLoadingCache_Keys(t *testing.T) { tbl := []struct { key string