mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2025-02-18 04:20:46 +03:00
Add tests for async mode auto configuration
This commit is contained in:
parent
0a30efec5a
commit
eb6e19e60b
|
@ -572,6 +572,60 @@ class OverrideTests(AsyncTestCase):
|
|||
self.assertIs(dependency1, dependency)
|
||||
self.assertIs(dependency2, dependency)
|
||||
|
||||
def test_async_mode_enabling(self):
|
||||
dependency = object()
|
||||
|
||||
async def _get_dependency_async():
|
||||
return dependency
|
||||
|
||||
provider = providers.Callable(_get_dependency_async)
|
||||
self.assertTrue(provider.is_async_mode_undefined())
|
||||
|
||||
self._run(provider())
|
||||
|
||||
self.assertTrue(provider.is_async_mode_enabled())
|
||||
|
||||
def test_async_mode_disabling(self):
|
||||
dependency = object()
|
||||
|
||||
def _get_dependency():
|
||||
return dependency
|
||||
|
||||
provider = providers.Callable(_get_dependency)
|
||||
self.assertTrue(provider.is_async_mode_undefined())
|
||||
|
||||
provider()
|
||||
|
||||
self.assertTrue(provider.is_async_mode_disabled())
|
||||
|
||||
def test_async_mode_enabling_on_overriding(self):
|
||||
dependency = object()
|
||||
|
||||
async def _get_dependency_async():
|
||||
return dependency
|
||||
|
||||
provider = providers.Provider()
|
||||
provider.override(providers.Callable(_get_dependency_async))
|
||||
self.assertTrue(provider.is_async_mode_undefined())
|
||||
|
||||
self._run(provider())
|
||||
|
||||
self.assertTrue(provider.is_async_mode_enabled())
|
||||
|
||||
def test_async_mode_disabling_on_overriding(self):
|
||||
dependency = object()
|
||||
|
||||
def _get_dependency():
|
||||
return dependency
|
||||
|
||||
provider = providers.Provider()
|
||||
provider.override(providers.Callable(_get_dependency))
|
||||
self.assertTrue(provider.is_async_mode_undefined())
|
||||
|
||||
provider()
|
||||
|
||||
self.assertTrue(provider.is_async_mode_disabled())
|
||||
|
||||
|
||||
class TestAsyncModeApi(unittest.TestCase):
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user