public async Task Cache_Should_Invalidator_WhenFeatureChanged() { // Arrange cache feature. (await _featureManagementStore.GetOrNullAsync( TestFeatureDefinitionProvider.SocialLogins, EditionFeatureValueProvider.ProviderName, TestEditionIds.Regular.ToString() ).ConfigureAwait(false) ).ShouldNotBeNull(); var feature = await _featureValueRepository.FindAsync( TestFeatureDefinitionProvider.SocialLogins, EditionFeatureValueProvider.ProviderName, TestEditionIds.Regular.ToString() ).ConfigureAwait(false); // Act await _featureValueRepository.DeleteAsync(feature).ConfigureAwait(false); // Assert (await _cache.GetAsync( FeatureValueCacheItem.CalculateCacheKey( TestFeatureDefinitionProvider.SocialLogins, EditionFeatureValueProvider.ProviderName, TestEditionIds.Regular.ToString() ) ).ConfigureAwait(false) ).ShouldBeNull(); }
public async Task Cache_Should_Invalidator_WhenSettingChanged_Between_Tenant_And_Host() { var tenantId = Guid.NewGuid(); using (_currentTenant.Change(tenantId)) { // Arrange cache feature. (await _featureManagementStore.GetOrNullAsync( TestFeatureDefinitionProvider.SocialLogins, EditionFeatureValueProvider.ProviderName, TestEditionIds.Regular.ToString() ) ).ShouldNotBeNull(); } using (_currentTenant.Change(null)) { await _featureManagementStore.SetAsync(TestFeatureDefinitionProvider.SocialLogins, false.ToString(), EditionFeatureValueProvider.ProviderName, TestEditionIds.Regular.ToString()); } using (_currentTenant.Change(tenantId)) { // Arrange cache feature. (await _cache.GetAsync( FeatureValueCacheItem.CalculateCacheKey( TestFeatureDefinitionProvider.SocialLogins, EditionFeatureValueProvider.ProviderName, TestEditionIds.Regular.ToString() ) ) ).ShouldBeNull(); } }
protected virtual string CalculateCacheKey(string name, string providerName, string providerKey) { return(FeatureValueCacheItem.CalculateCacheKey(name, providerName, providerKey)); }