Ejemplo n.º 1
0
        public void RedisCache_Set_NotStringValue_ShouldThrowInvalidOperationException()
        {
            //--------------Arrange------------------------------
            var mockConnection = new Mock <IRedisConnection>();
            var mockDatabase   = new Mock <IRedisCache>();

            mockDatabase.Setup(db => db.Set(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <TimeSpan>())).Verifiable();
            mockConnection.Setup(conn => conn.Cache).Returns(mockDatabase.Object);
            var redis = new RedisCacheStub(() => mockConnection.Object);

            //--------------Act----------------------------------
            redis.Set("bob", It.IsAny <string>(), It.IsAny <TimeSpan>());
            //--------------Assert-------------------------------
        }
Ejemplo n.º 2
0
        public void RedisCache_Set_NullKey_ShouldThrowArgumentNullException()
        {
            //--------------Arrange------------------------------
            var mockConnection = new Mock <IRedisConnection>();
            var mockDatabase   = new Mock <IRedisCache>();

            mockDatabase.Setup(db => db.Set(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <TimeSpan>())).Verifiable();
            mockConnection.Setup(conn => conn.Cache).Returns(mockDatabase.Object);
            var redis = new RedisCacheStub(() => mockConnection.Object);

            //--------------Act----------------------------------
            redis.Set(null, string.Empty, It.IsAny <TimeSpan>());
            //--------------Assert-------------------------------
        }
Ejemplo n.º 3
0
        public void RedisCache_Set_StringValue_ShouldCallStringSetOnCache()
        {
            //--------------Arrange------------------------------
            var mockConnection = new Mock <IRedisConnection>();
            var mockDatabase   = new Mock <IRedisCache>();

            mockDatabase.Setup(db => db.Set(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <TimeSpan>())).Verifiable();
            mockConnection.Setup(conn => conn.Cache).Returns(mockDatabase.Object);
            var redis = new RedisCacheStub(() => mockConnection.Object);

            //--------------Act----------------------------------
            redis.Set("bob", "the builder", It.IsAny <TimeSpan>());
            //--------------Assert-------------------------------
            mockDatabase.Verify(db => db.Set(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <TimeSpan>()), Times.Once);
        }
Ejemplo n.º 4
0
        public void RedisCache_Decrement_ValidKey_ShouldDecrement()
        {
            //--------------Arrange------------------------------
            var mockConnection = new Mock <IRedisConnection>();
            var mockDatabase   = new Mock <IRedisCache>();

            mockDatabase.Setup(db => db.Decrement("bob", "1")).Verifiable();
            mockConnection.Setup(conn => conn.Cache).Returns(mockDatabase.Object);
            var redis = new RedisCacheStub(() => mockConnection.Object);

            //--------------Act----------------------------------
            redis.Decrement("bob", "1");
            //--------------Assert-------------------------------
            mockDatabase.Verify(db => db.Decrement("bob", "1"), Times.Once);
        }
Ejemplo n.º 5
0
        public void RedisCache_Decrement_NullKey_ShouldThrowArgumentNullException()
        {
            //--------------Arrange------------------------------
            var ext            = System.Threading.Tasks.TaskExtensions.Unwrap(new System.Threading.Tasks.Task <System.Threading.Tasks.Task>(() => System.Threading.Tasks.Task.FromResult(true)));
            var mockConnection = new Mock <IRedisConnection>();
            var mockDatabase   = new Mock <IRedisCache>();

            mockDatabase.Setup(db => db.Decrement(It.IsAny <string>(), "1")).Verifiable();
            mockConnection.Setup(conn => conn.Cache).Returns(mockDatabase.Object);
            var redis = new RedisCacheStub(() => mockConnection.Object);

            //--------------Act----------------------------------
            redis.Decrement(null, "1");
            //--------------Assert-------------------------------
        }
Ejemplo n.º 6
0
        public void RedisCache_Set_DataToCacheWithNoTTL_CachedDataShouldNotExpire()
        {
            //----------------------Arrange----------------------
            var mockConnection = new Mock <IRedisConnection>();
            var mockDatabase   = new Mock <IRedisCache>();

            mockDatabase.Setup(db => db.Set(It.IsAny <string>(), It.IsAny <string>(), TimeSpan.FromMilliseconds(0))).Returns(true);
            mockConnection.Setup(conn => conn.Cache).Returns(mockDatabase.Object);

            var sut = new RedisCacheStub(() => mockConnection.Object);
            //----------------------Act--------------------------
            var result = sut.Set("key1", "data to store in cache", TimeSpan.FromMilliseconds(0));

            //----------------------Assert-----------------------
            Assert.IsTrue(result);
        }