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

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

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

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

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

            // Act
            await redcache.Set(key1, "value");

            await redcache.Set(key2, "value");

            await redcache.DeleteMultiple(new[] { key1, key2 });

            var key1Exists = await redcache.Exists(key1);

            var key2Exists = await redcache.Exists(key2);

            // Assert
            key1Exists.Should().BeFalse();
            key2Exists.Should().BeFalse();
        }
Exemplo n.º 4
0
        public async Task Serilize_SimpleObject(string serilizerName)
        {
            // Arrange
            var redcache = new RedcacheService(_fixture.Multiplexer, SerializerFactory(serilizerName));
            var key      = _fixture.GetRandomKey();

            // Act
            await redcache.Set(key, "value");

            var cached = await redcache.Get <string>(key);

            // Assert
            cached.Value.Should().Be("value");
        }
Exemplo n.º 5
0
        public async Task Exists_WhenAccessingNonexistentKey_ReturnsTrue()
        {
            // Arrange
            var redcache = new RedcacheService(_fixture.Multiplexer, _serializer);
            var key      = _fixture.GetRandomKey();

            // Act
            await redcache.Set(key, "value");

            var keyExists = await redcache.Exists(key);

            // Assert
            keyExists.Should().BeTrue();
        }
Exemplo n.º 6
0
        public async Task Set_Then_Get_WhenAccessingKey_ReturnsItsValue()
        {
            // Arrange
            var redcache = new RedcacheService(_fixture.Multiplexer, _serializer);
            var key      = _fixture.GetRandomKey();

            // Act
            await redcache.Set(key, "value");

            var cached = await redcache.Get <string>(key);

            // Assert
            cached.Value.Should().Be("value");
        }
Exemplo n.º 7
0
        public async Task Serializes_ComplexObject(string serilizerName)
        {
            // Arrange
            var redcache = new RedcacheService(_fixture.Multiplexer, SerializerFactory(serilizerName));
            var key      = _fixture.GetRandomKey();
            var person   = _faker.GenerateOne();

            // Act
            await redcache.Set(key, person);

            var cached = await redcache.Get <Person>(key);

            // Assert
            cached.Value.Should().BeEquivalentTo(person);
        }
Exemplo n.º 8
0
        public async Task Exists_WhenAccessingKeyAfterExpiration_ReturnsFalse()
        {
            // Arrange
            var redcache = new RedcacheService(_fixture.Multiplexer, _serializer);
            var key      = _fixture.GetRandomKey();

            // Act
            await redcache.Set(key, "value", TimeSpan.FromMilliseconds(100));

            await Task.Delay(TimeSpan.FromMilliseconds(101));

            var keyExists = await redcache.Exists(key);

            // Assert
            keyExists.Should().BeFalse();
        }
Exemplo n.º 9
0
        public async Task Delete_RemovesKey()
        {
            // Arrange
            var redcache = new RedcacheService(_fixture.Multiplexer, _serializer);
            var key      = _fixture.GetRandomKey();

            // Act
            await redcache.Set(key, "value");

            await redcache.Delete(key);

            var keyExists = await redcache.Exists(key);

            // Assert
            keyExists.Should().BeFalse();
        }
Exemplo n.º 10
0
        public async Task Set_Then_Get_WhenAccessingKeyAfterExpiration_ReturnsNull()
        {
            // Arrange
            var redcache = new RedcacheService(_fixture.Multiplexer, _serializer);
            var key      = _fixture.GetRandomKey();

            // Act
            await redcache.Set(key, "value", TimeSpan.FromMilliseconds(100));

            await Task.Delay(TimeSpan.FromMilliseconds(101));

            var cached = await redcache.Get <string>(key);

            // Assert
            cached.Value.Should().BeNull();
        }