File tree Expand file tree Collapse file tree 2 files changed +20
-2
lines changed
Expand file tree Collapse file tree 2 files changed +20
-2
lines changed Original file line number Diff line number Diff line change @@ -44,9 +44,9 @@ def get_default_provider(self) -> FeatureProvider:
4444 return self ._default_provider
4545
4646 def clear_providers (self ) -> None :
47- for provider in self ._providers .values ():
48- provider .shutdown ()
47+ self .shutdown ()
4948 self ._providers .clear ()
49+ self ._default_provider = NoOpProvider ()
5050
5151 def shutdown (self ) -> None :
5252 for provider in {self ._default_provider , * self ._providers .values ()}:
Original file line number Diff line number Diff line change 55from openfeature .api import (
66 add_hooks ,
77 clear_hooks ,
8+ clear_providers ,
89 get_client ,
910 get_evaluation_context ,
1011 get_hooks ,
@@ -210,3 +211,20 @@ def test_shutdown_should_shutdown_every_registered_provider_once():
210211 # Then
211212 provider_1 .shutdown .assert_called_once ()
212213 provider_2 .shutdown .assert_called_once ()
214+
215+
216+ def test_clear_providers_shutdowns_every_provider_and_resets_default_provider ():
217+ # Given
218+ provider_1 = MagicMock (spec = FeatureProvider )
219+ provider_2 = MagicMock (spec = FeatureProvider )
220+ set_provider (provider_1 )
221+ set_provider (provider_2 , "foo" )
222+ set_provider (provider_2 , "bar" )
223+
224+ # When
225+ clear_providers ()
226+
227+ # Then
228+ provider_1 .shutdown .assert_called_once ()
229+ provider_2 .shutdown .assert_called_once ()
230+ assert isinstance (get_client ().provider , NoOpProvider )
You can’t perform that action at this time.
0 commit comments