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();
        }
Exemple #2
0
    public async Task Test_HandleContextAsync()
    {
        var featureValue = await _featureValueRepository.FindAsync(
            TestFeatureDefinitionProvider.EmailSupport,
            TenantFeatureValueProvider.ProviderName,
            TestEditionIds.TenantId.ToString()
            );

        featureValue.ShouldNotBeNull();
        featureValue.Value.ShouldBe(false.ToString().ToLower());


        featureValue = await _featureValueRepository.FindAsync(
            TestFeatureDefinitionProvider.EmailSupport,
            NextTenantFeatureManagementProvider.ProviderName,
            TestEditionIds.TenantId.ToString()
            );

        featureValue.ShouldNotBeNull();
        featureValue.Value.ShouldBe(true.ToString().ToLower());

        await _featureManager.SetAsync(TestFeatureDefinitionProvider.EmailSupport, true.ToString().ToLower(),
                                       TenantFeatureValueProvider.ProviderName, TestEditionIds.TenantId.ToString());

        featureValue = await _featureValueRepository.FindAsync(
            TestFeatureDefinitionProvider.EmailSupport,
            TenantFeatureValueProvider.ProviderName,
            TestEditionIds.TenantId.ToString()
            );

        featureValue.ShouldBeNull();

        featureValue = await _featureValueRepository.FindAsync(
            TestFeatureDefinitionProvider.EmailSupport,
            NextTenantFeatureManagementProvider.ProviderName,
            TestEditionIds.TenantId.ToString()
            );

        featureValue.ShouldNotBeNull();
        featureValue.Value.ShouldBe(true.ToString().ToLower());
    }