Exemplo n.º 1
0
        public async Task CheckFailsWhenFreeMemoryIsBelowThreshold()
        {
            // Arrange
            var options = new RedisHasFreeMemory.Options
            {
                RedisFreeMemoryWarningThresholdInBytes = 1024
            };
            long maxMemory            = options.RedisFreeMemoryWarningThresholdInBytes * 10;
            long usedMemory           = maxMemory - options.RedisFreeMemoryWarningThresholdInBytes + 1;
            var  redisMemoryUsageMock = new Mock <IRedisMemoryUsage>();

            redisMemoryUsageMock
            .Setup(x => x.Read())
            .ReturnsAsync(usedMemory);
            var redisMaxMemoryMock = new Mock <IRedisMaxMemory>();

            redisMaxMemoryMock
            .Setup(x => x.Read())
            .ReturnsAsync(maxMemory);
            var check = new RedisHasFreeMemory(redisMemoryUsageMock.Object, redisMaxMemoryMock.Object, options);

            // Act
            var result = await check.Check();

            // Assert
            Assert.That(result.Passed, Is.False);
        }
Exemplo n.º 2
0
        public async Task CheckFailsWhenRedisMaxMemoryThrows()
        {
            // Arrange
            var redisMemoryUsageMock = new Mock <IRedisMemoryUsage>();
            var exception            = new Exception("error message");
            var redisMaxMemoryMock   = new Mock <IRedisMaxMemory>();

            redisMaxMemoryMock.Setup(x => x.Read()).ThrowsAsync(exception);
            var check = new RedisHasFreeMemory(redisMemoryUsageMock.Object, redisMaxMemoryMock.Object, new RedisHasFreeMemory.Options());

            // Act
            var result = await check.Check();

            // Assert
            Assert.That(result.Passed, Is.False);
            Assert.That(result.Output, Is.EqualTo(exception.Message));
        }
Exemplo n.º 3
0
        public async Task CheckPassesWhenThereIsNoUpperLimitOnMemoryUsage()
        {
            // Arrange
            var redisMaxMemoryMock = new Mock <IRedisMaxMemory>();

            redisMaxMemoryMock.Setup(x => x.Read()).ReturnsAsync(null);
            var redisMemoryUsageMock = new Mock <IRedisMemoryUsage>();

            redisMemoryUsageMock.Setup(x => x.Read()).ReturnsAsync(1024);
            var check = new RedisHasFreeMemory(redisMemoryUsageMock.Object, redisMaxMemoryMock.Object, new RedisHasFreeMemory.Options());

            // Act
            var result = await check.Check();

            // Assert
            Assert.That(result.Passed, Is.True);
        }