public void TestGetItemExceptionExpired() { var memcachedMock = new Mock<IMemcachedClient>(); var enyimProvider = new EnyimMemcachedProvider<IAwesomeInterface>(memcachedMock.Object); var cachePolicy = new CachePolicy() { CacheDuration = 2 }; var proxyContext = ProxyRequest<IAwesomeInterface>.FromExpression(a => a.ParameteredMethod("", 1)); var hashKey = proxyContext.CreateHash(); var exception = new Exception("Rofl exception"); object val = new MemcachedObject<IEnumerable<string>>() { Created = DateTime.Now.AddSeconds(-11), IsException = true, Exception = exception }; memcachedMock.Setup(a => a.TryGet(hashKey, out val)).Returns(true); var result = enyimProvider.GetItem<IEnumerable<string>>(proxyContext, cachePolicy); Assert.IsTrue(result.State == CachedObjectState.None); Assert.IsNull(result.ThrownException, "Provider did not return null in exception field"); Assert.IsNull(result.Object, "Provider did not return null in object field"); }
public void TestGetItemStale() { var memcachedMock = new Mock <IMemcachedClient>(); var enyimProvider = new EnyimMemcachedProvider <IAwesomeInterface>(memcachedMock.Object); var cachePolicy = new CachePolicy() { CacheDuration = 10 }; var proxyContext = ProxyRequest <IAwesomeInterface> .FromExpression(a => a.ParameteredMethod("", 1)); var hashKey = proxyContext.CreateHash(); var obj = new[] { "", "" }; object val = new MemcachedObject <IEnumerable <string> >() { Created = DateTime.Now.AddSeconds(-15), Object = obj }; memcachedMock.Setup(a => a.TryGet(hashKey, out val)).Returns(true); var result = enyimProvider.GetItem <IEnumerable <string> >(proxyContext, cachePolicy); Assert.IsTrue(result.State == CachedObjectState.Stale, "Provider did not return stale, but: " + result.State); Assert.AreEqual(obj, result.Object, "Provider did not return object"); Assert.IsNull(result.ThrownException, "Provider did not return null in exception field"); }
public void TestGetItemExceptionExpired() { var memcachedMock = new Mock <IMemcachedClient>(); var enyimProvider = new EnyimMemcachedProvider <IAwesomeInterface>(memcachedMock.Object); var cachePolicy = new CachePolicy() { CacheDuration = 2 }; var proxyContext = ProxyRequest <IAwesomeInterface> .FromExpression(a => a.ParameteredMethod("", 1)); var hashKey = proxyContext.CreateHash(); var exception = new Exception("Rofl exception"); object val = new MemcachedObject <IEnumerable <string> >() { Created = DateTime.Now.AddSeconds(-11), IsException = true, Exception = exception }; memcachedMock.Setup(a => a.TryGet(hashKey, out val)).Returns(true); var result = enyimProvider.GetItem <IEnumerable <string> >(proxyContext, cachePolicy); Assert.IsTrue(result.State == CachedObjectState.None); Assert.IsNull(result.ThrownException, "Provider did not return null in exception field"); Assert.IsNull(result.Object, "Provider did not return null in object field"); }
public void TestPurgeItem() { var memcachedMock = new Mock<IMemcachedClient>(); var enyimProvider = new EnyimMemcachedProvider<IAwesomeInterface>(memcachedMock.Object); var proxyContext = ProxyRequest<IAwesomeInterface>.FromExpression(a => a.ParameteredMethod("", 1)); var hashKey = proxyContext.CreateHash(); enyimProvider.Purge(a => a.ParameteredMethod("", 1)); memcachedMock.Verify(a => a.Remove(hashKey), Times.Once()); }
public void TestPurgeItem() { var memcachedMock = new Mock <IMemcachedClient>(); var enyimProvider = new EnyimMemcachedProvider <IAwesomeInterface>(memcachedMock.Object); var proxyContext = ProxyRequest <IAwesomeInterface> .FromExpression(a => a.ParameteredMethod("", 1)); var hashKey = proxyContext.CreateHash(); enyimProvider.Purge(a => a.ParameteredMethod("", 1)); memcachedMock.Verify(a => a.Remove(hashKey), Times.Once()); }
public void TestStoreException() { var memcachedMock = new Mock<IMemcachedClient>(); var enyimProvider = new EnyimMemcachedProvider<IAwesomeInterface>(memcachedMock.Object); var cachePolicy = new CachePolicy() { CacheDuration = 10 }; var proxyContext = ProxyRequest<IAwesomeInterface>.FromExpression(a => a.ParameteredMethod("", 1)); var hashKey = proxyContext.CreateHash(); enyimProvider.StoreException<IEnumerable<string>>(proxyContext, cachePolicy, new Exception()); memcachedMock.Verify(a => a.Store(StoreMode.Set, hashKey, It.IsAny<MemcachedObject<IEnumerable<string>>>()), Times.Once()); //We can't test properly if it created the object correctly. }
public void TestStoreException() { var memcachedMock = new Mock <IMemcachedClient>(); var enyimProvider = new EnyimMemcachedProvider <IAwesomeInterface>(memcachedMock.Object); var cachePolicy = new CachePolicy() { CacheDuration = 10 }; var proxyContext = ProxyRequest <IAwesomeInterface> .FromExpression(a => a.ParameteredMethod("", 1)); var hashKey = proxyContext.CreateHash(); enyimProvider.StoreException <IEnumerable <string> >(proxyContext, cachePolicy, new Exception()); memcachedMock.Verify(a => a.Store(StoreMode.Set, hashKey, It.IsAny <MemcachedObject <IEnumerable <string> > >()), Times.Once()); //We can't test properly if it created the object correctly. }
public void TestStoreItem_AbsoluteExpire() { var memcachedMock = new Mock<IMemcachedClient>(); var enyimProvider = new EnyimMemcachedProvider<IAwesomeInterface>(memcachedMock.Object); var cachePolicy = new CachePolicy() { CacheDuration = 10, MaxAge = 20 }; var proxyContext = ProxyRequest<IAwesomeInterface>.FromExpression(a => a.ParameteredMethod("", 1)); var hashKey = proxyContext.CreateHash(); var objectToStore = new[] { "", "" }.AsEnumerable(); enyimProvider.StoreItem(proxyContext, cachePolicy, objectToStore); memcachedMock.Verify(a => a.Store(StoreMode.Set, hashKey, It.IsAny<MemcachedObject<IEnumerable<string>>>(), TimeSpan.FromSeconds(20)), Times.Once()); }
public void TestStoreItem_AbsoluteExpire() { var memcachedMock = new Mock <IMemcachedClient>(); var enyimProvider = new EnyimMemcachedProvider <IAwesomeInterface>(memcachedMock.Object); var cachePolicy = new CachePolicy() { CacheDuration = 10, MaxAge = 20 }; var proxyContext = ProxyRequest <IAwesomeInterface> .FromExpression(a => a.ParameteredMethod("", 1)); var hashKey = proxyContext.CreateHash(); var objectToStore = new[] { "", "" }.AsEnumerable(); enyimProvider.StoreItem(proxyContext, cachePolicy, objectToStore); memcachedMock.Verify(a => a.Store(StoreMode.Set, hashKey, It.IsAny <MemcachedObject <IEnumerable <string> > >(), TimeSpan.FromSeconds(20)), Times.Once()); }
public void TestGetItemFromEmpty() { var memcachedMock = new Mock <IMemcachedClient>(); var enyimProvider = new EnyimMemcachedProvider <IAwesomeInterface>(memcachedMock.Object); var cachePolicy = new CachePolicy() { CacheDuration = 10 }; var proxyContext = ProxyRequest <IAwesomeInterface> .FromExpression(a => a.ParameterlessMethod()); var hashKey = proxyContext.CreateHash(); var result = enyimProvider.GetItem(proxyContext, cachePolicy); Assert.IsTrue(result.State == CachedObjectState.None, "Provider did not return an object with state none"); Assert.IsNull(result.Object, "Provider did not return on object field"); Assert.IsNull(result.ThrownException, "Provider did not return null in exception field"); object val; memcachedMock.Verify(a => a.TryGet(hashKey, out val)); }
public void TestGetItemStale() { var memcachedMock = new Mock<IMemcachedClient>(); var enyimProvider = new EnyimMemcachedProvider<IAwesomeInterface>(memcachedMock.Object); var cachePolicy = new CachePolicy() { CacheDuration = 10 }; var proxyContext = ProxyRequest<IAwesomeInterface>.FromExpression(a => a.ParameteredMethod("", 1)); var hashKey = proxyContext.CreateHash(); var obj = new[] { "", "" }; object val = new MemcachedObject<IEnumerable<string>>() { Created = DateTime.Now.AddSeconds(-15), Object = obj }; memcachedMock.Setup(a => a.TryGet(hashKey, out val)).Returns(true); var result = enyimProvider.GetItem<IEnumerable<string>>(proxyContext, cachePolicy); Assert.IsTrue(result.State == CachedObjectState.Stale, "Provider did not return stale, but: " + result.State); Assert.AreEqual(obj, result.Object, "Provider did not return object"); Assert.IsNull(result.ThrownException, "Provider did not return null in exception field"); }
public void TestGetItemFromEmpty() { var memcachedMock = new Mock<IMemcachedClient>(); var enyimProvider = new EnyimMemcachedProvider<IAwesomeInterface>(memcachedMock.Object); var cachePolicy = new CachePolicy() { CacheDuration = 10 }; var proxyContext = ProxyRequest<IAwesomeInterface>.FromExpression(a => a.ParameterlessMethod()); var hashKey = proxyContext.CreateHash(); var result = enyimProvider.GetItem(proxyContext, cachePolicy); Assert.IsTrue(result.State == CachedObjectState.None, "Provider did not return an object with state none"); Assert.IsNull(result.Object, "Provider did not return on object field"); Assert.IsNull(result.ThrownException, "Provider did not return null in exception field"); object val; memcachedMock.Verify(a => a.TryGet(hashKey, out val)); }