Integrate feedback and upstream fixes

- Ensure correct locking in GetOrCreateSecondaryCache
- Fetch now returns a *Item
This commit is contained in:
Jens Deppe
2016-11-01 23:53:22 -07:00
parent d2c2442186
commit a451d7262c
3 changed files with 5 additions and 3 deletions

View File

@@ -78,14 +78,14 @@ func (_ SecondaryCacheTests) FetchReturnsAnExistingValue() {
cache.Set("spice", "flow", "value-a", time.Minute)
sCache := cache.GetOrCreateSecondaryCache("spice")
val, _ := sCache.Fetch("flow", time.Minute, func() (interface{}, error) {return "a fetched value", nil})
Expect(val.(*Item).Value().(string)).To.Equal("value-a")
Expect(val.Value().(string)).To.Equal("value-a")
}
func (_ SecondaryCacheTests) FetchReturnsANewValue() {
cache := newLayered()
sCache := cache.GetOrCreateSecondaryCache("spice")
val, _ := sCache.Fetch("flow", time.Minute, func() (interface{}, error) {return "a fetched value", nil})
Expect(val.(*Item).Value().(string)).To.Equal("a fetched value")
Expect(val.Value().(string)).To.Equal("a fetched value")
}
func (_ SecondaryCacheTests) TrackerDoesNotCleanupHeldInstance() {