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");
        }
Example #2
0
        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");
        }
Example #3
0
        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());
        }
Example #10
0
        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));
        }