public MemoryCacheDecorator( string name, IMemoryCache memoryCache, CacheConfigurations cacheConfigurations) { _name = name; _memoryCache = memoryCache; _cacheConfiguration = cacheConfigurations.GetConfiguration(name); }
public void WhenConfigurationDoesNotExistThenReturnsDefault() { var cacheConfigurations = new CacheConfigurations(new Dictionary <string, CacheConfiguration> { ["exists"] = new CacheConfiguration(CacheExpirySettings.Default) }); var actual = cacheConfigurations.GetConfiguration("not-exists"); actual.Should().Be(CacheConfiguration.Default); }
public void WhenConfigurationExistsThenItIsReturned() { var expected = new CacheConfiguration(CacheExpirySettings.Default); var cacheConfigurations = new CacheConfigurations(new Dictionary <string, CacheConfiguration> { ["exists"] = expected }); var actual = cacheConfigurations.GetConfiguration("exists"); actual.Should().Be(expected); }
public void WhenDefaultPresentThenDoesNotReturnStaticDefault() { var @default = new CacheConfiguration(CacheExpirySettings.Default); var cacheConfigurations = new CacheConfigurations(new Dictionary <string, CacheConfiguration> { ["default"] = @default, }); var actual = cacheConfigurations.GetConfiguration("not-exists"); actual.Should().Be(@default); actual.Should().NotBe(CacheConfiguration.Default); }
public void WhenConfigurationDoesNotExistsAndOverridePresentThenReturnsOverrideNotDefault() { var @override = new CacheConfiguration(CacheExpirySettings.Default); var cacheConfigurations = new CacheConfigurations(new Dictionary <string, CacheConfiguration> { ["override"] = @override, }); var actual = cacheConfigurations.GetConfiguration("not-exists"); actual.Should().Be(@override); actual.Should().NotBe(CacheConfiguration.Default); }
public void WhenConfigurationExistsButOverridePresentThenReturnsOverride() { var item = new CacheConfiguration(CacheExpirySettings.Default); var @override = new CacheConfiguration(CacheExpirySettings.Default); var cacheConfigurations = new CacheConfigurations(new Dictionary <string, CacheConfiguration> { ["item"] = item, ["override"] = @override, }); var actual = cacheConfigurations.GetConfiguration("item"); actual.Should().Be(@override); }
public DistributedCacheDecorator( string name, IDistributedCache distributedCache, IDataProtector dataProtector, CacheConfigurations cacheConfigurations) { if (string.IsNullOrEmpty(name)) { throw new ArgumentException("'name' cannot be null or empty", nameof(name)); } _name = name; _distributedCache = distributedCache; _dataProtector = dataProtector.CreateProtector(_name); _cacheConfiguration = cacheConfigurations.GetConfiguration(name); }