@@ -777,6 +777,10 @@ public async Task WatchesFeatureFlags()
777777 . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( featureFlags ) )
778778 . Returns ( mockAsyncPageable ) ;
779779
780+ mockClient . Setup ( c => c . CheckConfigurationSettingsAsync ( It . IsAny < SettingSelector > ( ) , It . IsAny < CancellationToken > ( ) ) )
781+ . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( featureFlags ) )
782+ . Returns ( mockAsyncPageable ) ;
783+
780784 IConfigurationRefresher refresher = null ;
781785 var config = new ConfigurationBuilder ( )
782786 . AddAzureAppConfiguration ( options =>
@@ -849,6 +853,10 @@ public async Task WatchesFeatureFlagsUsingCacheExpirationInterval()
849853 . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( featureFlags ) )
850854 . Returns ( mockAsyncPageable ) ;
851855
856+ mockClient . Setup ( c => c . CheckConfigurationSettingsAsync ( It . IsAny < SettingSelector > ( ) , It . IsAny < CancellationToken > ( ) ) )
857+ . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( featureFlags ) )
858+ . Returns ( mockAsyncPageable ) ;
859+
852860 var cacheExpirationInterval = TimeSpan . FromSeconds ( 1 ) ;
853861
854862 IConfigurationRefresher refresher = null ;
@@ -923,6 +931,10 @@ public async Task SkipRefreshIfRefreshIntervalHasNotElapsed()
923931 . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( featureFlags ) )
924932 . Returns ( mockAsyncPageable ) ;
925933
934+ mockClient . Setup ( c => c . CheckConfigurationSettingsAsync ( It . IsAny < SettingSelector > ( ) , It . IsAny < CancellationToken > ( ) ) )
935+ . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( featureFlags ) )
936+ . Returns ( mockAsyncPageable ) ;
937+
926938 IConfigurationRefresher refresher = null ;
927939 var config = new ConfigurationBuilder ( )
928940 . AddAzureAppConfiguration ( options =>
@@ -994,6 +1006,10 @@ public async Task SkipRefreshIfCacheNotExpired()
9941006 . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( featureFlags ) )
9951007 . Returns ( mockAsyncPageable ) ;
9961008
1009+ mockClient . Setup ( c => c . CheckConfigurationSettingsAsync ( It . IsAny < SettingSelector > ( ) , It . IsAny < CancellationToken > ( ) ) )
1010+ . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( featureFlags ) )
1011+ . Returns ( mockAsyncPageable ) ;
1012+
9971013 IConfigurationRefresher refresher = null ;
9981014 var config = new ConfigurationBuilder ( )
9991015 . AddAzureAppConfiguration ( options =>
@@ -1118,6 +1134,10 @@ public async Task DoesNotUseEtagForFeatureFlagRefresh()
11181134 . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( new List < ConfigurationSetting > { _kv } ) )
11191135 . Returns ( mockAsyncPageable ) ;
11201136
1137+ mockClient . Setup ( c => c . CheckConfigurationSettingsAsync ( It . IsAny < SettingSelector > ( ) , It . IsAny < CancellationToken > ( ) ) )
1138+ . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( new List < ConfigurationSetting > { _kv } ) )
1139+ . Returns ( mockAsyncPageable ) ;
1140+
11211141 IConfigurationRefresher refresher = null ;
11221142 var config = new ConfigurationBuilder ( )
11231143 . AddAzureAppConfiguration ( options =>
@@ -1134,7 +1154,8 @@ public async Task DoesNotUseEtagForFeatureFlagRefresh()
11341154 Thread . Sleep ( RefreshInterval ) ;
11351155
11361156 await refresher . TryRefreshAsync ( ) ;
1137- mockClient . Verify ( c => c . GetConfigurationSettingsAsync ( It . IsAny < SettingSelector > ( ) , It . IsAny < CancellationToken > ( ) ) , Times . Exactly ( 3 ) ) ;
1157+ mockClient . Verify ( c => c . GetConfigurationSettingsAsync ( It . IsAny < SettingSelector > ( ) , It . IsAny < CancellationToken > ( ) ) , Times . Exactly ( 2 ) ) ;
1158+ mockClient . Verify ( c => c . CheckConfigurationSettingsAsync ( It . IsAny < SettingSelector > ( ) , It . IsAny < CancellationToken > ( ) ) , Times . Once ( ) ) ;
11381159 }
11391160
11401161 [ Fact ]
@@ -1569,6 +1590,12 @@ public async Task DifferentCacheExpirationsForMultipleFeatureFlagRegistrations()
15691590 ( s . Key . StartsWith ( FeatureManagementConstants . FeatureFlagMarker + prefix2 ) && s . Label == label2 && s . Key != FeatureManagementConstants . FeatureFlagMarker + "App2_Feature3" ) ) . ToList ( ) ) )
15701591 . Returns ( mockAsyncPageable ) ;
15711592
1593+ mockClient . Setup ( c => c . CheckConfigurationSettingsAsync ( It . IsAny < SettingSelector > ( ) , It . IsAny < CancellationToken > ( ) ) )
1594+ . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( featureFlagCollection . Where ( s =>
1595+ ( s . Key . StartsWith ( FeatureManagementConstants . FeatureFlagMarker + prefix1 ) && s . Label == label1 ) ||
1596+ ( s . Key . StartsWith ( FeatureManagementConstants . FeatureFlagMarker + prefix2 ) && s . Label == label2 && s . Key != FeatureManagementConstants . FeatureFlagMarker + "App2_Feature3" ) ) . ToList ( ) ) )
1597+ . Returns ( mockAsyncPageable ) ;
1598+
15721599 var config = new ConfigurationBuilder ( )
15731600 . AddAzureAppConfiguration ( options =>
15741601 {
@@ -1739,6 +1766,11 @@ public async Task SelectAndRefreshSingleFeatureFlag()
17391766 s . Key . Equals ( FeatureManagementConstants . FeatureFlagMarker + prefix1 ) && s . Label == label1 ) . ToList ( ) ) )
17401767 . Returns ( mockAsyncPageable ) ;
17411768
1769+ mockClient . Setup ( c => c . CheckConfigurationSettingsAsync ( It . IsAny < SettingSelector > ( ) , It . IsAny < CancellationToken > ( ) ) )
1770+ . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( featureFlagCollection . Where ( s =>
1771+ s . Key . Equals ( FeatureManagementConstants . FeatureFlagMarker + prefix1 ) && s . Label == label1 ) . ToList ( ) ) )
1772+ . Returns ( mockAsyncPageable ) ;
1773+
17421774 var config = new ConfigurationBuilder ( )
17431775 . AddAzureAppConfiguration ( options =>
17441776 {
@@ -1802,6 +1834,10 @@ public async Task ValidateCorrectFeatureFlagLoggedIfModifiedOrRemovedDuringRefre
18021834 . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( featureFlags ) )
18031835 . Returns ( mockAsyncPageable ) ;
18041836
1837+ mockClient . Setup ( c => c . CheckConfigurationSettingsAsync ( It . IsAny < SettingSelector > ( ) , It . IsAny < CancellationToken > ( ) ) )
1838+ . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( featureFlags ) )
1839+ . Returns ( mockAsyncPageable ) ;
1840+
18051841 mockClient . Setup ( c => c . GetConfigurationSettingAsync ( It . IsAny < ConfigurationSetting > ( ) , It . IsAny < bool > ( ) , It . IsAny < CancellationToken > ( ) ) )
18061842 . ReturnsAsync ( ( Func < ConfigurationSetting , bool , CancellationToken , Response < ConfigurationSetting > > ) GetIfChanged ) ;
18071843
@@ -1886,6 +1922,10 @@ public async Task ValidateFeatureFlagsUnchangedLogged()
18861922 . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( featureFlags ) )
18871923 . Returns ( mockAsyncPageable ) ;
18881924
1925+ mockClient . Setup ( c => c . CheckConfigurationSettingsAsync ( It . IsAny < SettingSelector > ( ) , It . IsAny < CancellationToken > ( ) ) )
1926+ . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( featureFlags ) )
1927+ . Returns ( mockAsyncPageable ) ;
1928+
18891929 mockClient . Setup ( c => c . GetConfigurationSettingAsync ( It . IsAny < ConfigurationSetting > ( ) , It . IsAny < bool > ( ) , It . IsAny < CancellationToken > ( ) ) )
18901930 . ReturnsAsync ( ( Func < ConfigurationSetting , bool , CancellationToken , Response < ConfigurationSetting > > ) GetIfChanged ) ;
18911931
@@ -1964,6 +2004,10 @@ public async Task MapTransformFeatureFlagWithRefresh()
19642004 . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( featureFlags ) )
19652005 . Returns ( mockAsyncPageable ) ;
19662006
2007+ mockClient . Setup ( c => c . CheckConfigurationSettingsAsync ( It . IsAny < SettingSelector > ( ) , It . IsAny < CancellationToken > ( ) ) )
2008+ . Callback ( ( ) => mockAsyncPageable . UpdateCollection ( featureFlags ) )
2009+ . Returns ( mockAsyncPageable ) ;
2010+
19672011 mockClient . Setup ( c => c . GetConfigurationSettingAsync ( It . IsAny < ConfigurationSetting > ( ) , It . IsAny < bool > ( ) , It . IsAny < CancellationToken > ( ) ) )
19682012 . ReturnsAsync ( ( Func < ConfigurationSetting , bool , CancellationToken , Response < ConfigurationSetting > > ) GetIfChanged ) ;
19692013
0 commit comments