github.com/anchore/syft@v1.38.2/internal/cache/memory_test.go (about) 1 package cache 2 3 import ( 4 "io" 5 "strings" 6 "testing" 7 "time" 8 9 "github.com/stretchr/testify/require" 10 11 "github.com/anchore/syft/internal" 12 ) 13 14 func Test_NewInMemory(t *testing.T) { 15 man := NewInMemory(time.Hour) 16 17 cacheName := "test" 18 cacheVersion := "v1" 19 cache := man.GetCache(cacheName, cacheVersion) 20 21 cacheKey := "test-key" 22 contentsValue := "some contents to cache" 23 24 err := cache.Write(cacheKey, strings.NewReader(contentsValue)) 25 require.NoError(t, err) 26 27 rdr, err := cache.Read(cacheKey) 28 require.NoError(t, err) 29 defer internal.CloseAndLogError(rdr, cacheKey) 30 31 contents, err := io.ReadAll(rdr) 32 require.NoError(t, err) 33 require.Equal(t, contentsValue, string(contents)) 34 35 _, err = cache.Read("otherKey") 36 require.ErrorIs(t, err, errNotFound) 37 }