Exemplo n.º 1
0
        public async Task GetOrSet_WhenUsedMultipleTimesWithDifferentSetters_ReturnsFirstValue()
        {
            // Arrange
            var redcache = new RedcacheService(_fixture.Multiplexer, _serializer);
            var key      = _fixture.GetRandomKey();

            // Act
            var firstCachedValue = await redcache.GetOrSet(key, () => "value1");

            var secondCachedValue = await redcache.GetOrSet(key, () => "value2");

            // Assert
            firstCachedValue.Should().Be("value1");
            secondCachedValue.Should().Be("value1");
        }
Exemplo n.º 2
0
        public void GetOrSet_Throws_WhenNegativeSlidingExpiration()
        {
            // Arrange
            var redcache = new RedcacheService(_fixture.Multiplexer, _serializer);
            var key      = _fixture.GetRandomKey();

            // Act
            Func <Task> action = async() => await redcache.GetOrSet(key, () => "value", TimeSpan.FromSeconds(-1));

            // Assert
            action.Should().Throw <ArgumentException>().WithMessage("Expiration must be a positive value*");
        }
Exemplo n.º 3
0
        public void GetOrSet_Throws_WhenPastOffsetExpirationDate()
        {
            // Arrange
            var redcache = new RedcacheService(_fixture.Multiplexer, _serializer);
            var key      = _fixture.GetRandomKey();

            // Act
            Func <Task> action = async() => await redcache.GetOrSet(key, () => "value", DateTimeOffset.UtcNow.AddDays(-1));

            // Assert
            action.Should().Throw <ArgumentException>().WithMessage("Expiration date must be a future date*");
        }
Exemplo n.º 4
0
        public async Task GetOrSet_WhenAccessingNonexistentKeyWithSetter_ReturnsSetterValue()
        {
            // Arrange
            var redcache = new RedcacheService(_fixture.Multiplexer, _serializer);
            var key      = _fixture.GetRandomKey();

            // Act
            var cachedValue = await redcache.GetOrSet(key, () => "value");

            // Assert
            cachedValue.Should().Be("value");
        }