public void If_CreateOrUpdate_Throws_Cache_Is_Removed() { var cacheCleared = false; var cache = new Mock <IRuntimeCacheProvider>(); cache.Setup(x => x.ClearCacheItem(It.IsAny <string>())) .Callback(() => { cacheCleared = true; }); var defaultPolicy = new DefaultRepositoryCachePolicy <AuditItem, object>(cache.Object, new RepositoryCachePolicyOptions()); try { defaultPolicy.Update(new AuditItem(1, "blah", AuditType.Copy, 123), item => { throw new Exception("blah!"); }); } catch { //we need this catch or nunit throw up } finally { Assert.IsTrue(cacheCleared); } }
public void If_Removes_Throws_Cache_Is_Removed() { var cacheCleared = false; var cache = new Mock <IAppPolicyCache>(); cache.Setup(x => x.Clear(It.IsAny <string>())) .Callback(() => { cacheCleared = true; }); var defaultPolicy = new DefaultRepositoryCachePolicy <AuditItem, object>(cache.Object, DefaultAccessor, new RepositoryCachePolicyOptions()); try { defaultPolicy.Delete(new AuditItem(1, AuditType.Copy, 123, "test", "blah"), item => throw new Exception("blah!")); } catch { //we need this catch or nunit throw up } finally { Assert.IsTrue(cacheCleared); } }
public void Get_Single_From_Cache() { var cache = new Mock <IRuntimeCacheProvider>(); cache.Setup(x => x.GetCacheItem(It.IsAny <string>())).Returns(new AuditItem(1, "blah", AuditType.Copy, 123)); var defaultPolicy = new DefaultRepositoryCachePolicy <AuditItem, object>(cache.Object, new RepositoryCachePolicyOptions()); var found = defaultPolicy.Get(1, id => null, ids => null); Assert.IsNotNull(found); }
public void Get_Single_From_Cache() { var cache = new Mock <IAppPolicyCache>(); cache.Setup(x => x.Get(It.IsAny <string>())).Returns(new AuditItem(1, AuditType.Copy, 123, "test", "blah")); var defaultPolicy = new DefaultRepositoryCachePolicy <AuditItem, object>(cache.Object, DefaultAccessor, new RepositoryCachePolicyOptions()); AuditItem found = defaultPolicy.Get(1, id => null, ids => null); Assert.IsNotNull(found); }
public void Caches_Single() { var isCached = false; var cache = new Mock <IAppPolicyCache>(); cache.Setup(x => x.Insert(It.IsAny <string>(), It.IsAny <Func <object> >(), It.IsAny <TimeSpan?>(), It.IsAny <bool>(), It.IsAny <string[]>())) .Callback(() => isCached = true); var defaultPolicy = new DefaultRepositoryCachePolicy <AuditItem, object>(cache.Object, DefaultAccessor, new RepositoryCachePolicyOptions()); AuditItem unused = defaultPolicy.Get(1, id => new AuditItem(1, AuditType.Copy, 123, "test", "blah"), o => null); Assert.IsTrue(isCached); }
public void Get_All_Without_Ids_From_Cache() { var cache = new Mock <IAppPolicyCache>(); cache.Setup(x => x.SearchByKey(It.IsAny <string>())).Returns(new[] { new AuditItem(1, AuditType.Copy, 123, "test", "blah"), new AuditItem(2, AuditType.Copy, 123, "test", "blah2") }); var defaultPolicy = new DefaultRepositoryCachePolicy <AuditItem, object>(cache.Object, DefaultAccessor, new RepositoryCachePolicyOptions()); AuditItem[] found = defaultPolicy.GetAll(new object[] { }, ids => new[] { (AuditItem)null }); Assert.AreEqual(2, found.Length); }
public void Get_All_Without_Ids_From_Cache() { var cache = new Mock <IRuntimeCacheProvider>(); cache.Setup(x => x.GetCacheItemsByKeySearch(It.IsAny <string>())).Returns(new[] { new AuditItem(1, "blah", AuditType.Copy, 123), new AuditItem(2, "blah2", AuditType.Copy, 123) }); var defaultPolicy = new DefaultRepositoryCachePolicy <AuditItem, object>(cache.Object, new RepositoryCachePolicyOptions()); var found = defaultPolicy.GetAll(new object[] { }, ids => new[] { (AuditItem)null }); Assert.AreEqual(2, found.Length); }
public void Caches_Single() { var isCached = false; var cache = new Mock <IRuntimeCacheProvider>(); cache.Setup(x => x.InsertCacheItem(It.IsAny <string>(), It.IsAny <Func <object> >(), It.IsAny <TimeSpan?>(), It.IsAny <bool>(), It.IsAny <CacheItemPriority>(), It.IsAny <CacheItemRemovedCallback>(), It.IsAny <string[]>())) .Callback(() => { isCached = true; }); var defaultPolicy = new DefaultRepositoryCachePolicy <AuditItem, object>(cache.Object, new RepositoryCachePolicyOptions()); var found = defaultPolicy.Get(1, id => new AuditItem(1, "blah", AuditType.Copy, 123), o => null); Assert.IsTrue(isCached); }
public void Caches_Per_Id_For_Get_All() { var cached = new List <string>(); var cache = new Mock <IAppPolicyCache>(); cache.Setup(x => x.Insert(It.IsAny <string>(), It.IsAny <Func <object> >(), It.IsAny <TimeSpan?>(), It.IsAny <bool>(), It.IsAny <string[]>())) .Callback((string cacheKey, Func <object> o, TimeSpan? t, bool b, string[] s) => cached.Add(cacheKey)); cache.Setup(x => x.SearchByKey(It.IsAny <string>())).Returns(new AuditItem[] { }); var defaultPolicy = new DefaultRepositoryCachePolicy <AuditItem, object>(cache.Object, DefaultAccessor, new RepositoryCachePolicyOptions()); AuditItem[] unused = defaultPolicy.GetAll(new object[] { }, ids => new[] { new AuditItem(1, AuditType.Copy, 123, "test", "blah"), new AuditItem(2, AuditType.Copy, 123, "test", "blah2") }); Assert.AreEqual(2, cached.Count); }
public void Caches_Per_Id_For_Get_All() { var cached = new List <string>(); var cache = new Mock <IRuntimeCacheProvider>(); cache.Setup(x => x.InsertCacheItem(It.IsAny <string>(), It.IsAny <Func <object> >(), It.IsAny <TimeSpan?>(), It.IsAny <bool>(), It.IsAny <CacheItemPriority>(), It.IsAny <CacheItemRemovedCallback>(), It.IsAny <string[]>())) .Callback((string cacheKey, Func <object> o, TimeSpan? t, bool b, CacheItemPriority cip, CacheItemRemovedCallback circ, string[] s) => { cached.Add(cacheKey); }); cache.Setup(x => x.GetCacheItemsByKeySearch(It.IsAny <string>())).Returns(new AuditItem[] {}); var defaultPolicy = new DefaultRepositoryCachePolicy <AuditItem, object>(cache.Object, new RepositoryCachePolicyOptions()); var found = defaultPolicy.GetAll(new object[] { }, ids => new[] { new AuditItem(1, "blah", AuditType.Copy, 123), new AuditItem(2, "blah2", AuditType.Copy, 123) }); Assert.AreEqual(2, cached.Count); }