mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2025-07-03 03:43:29 +03:00
Migrate wiring async injection tests
This commit is contained in:
parent
0cd1a1646d
commit
5e59e8d729
55
tests/unit/wiring/provider_ids/test_async_injections_py36.py
Normal file
55
tests/unit/wiring/provider_ids/test_async_injections_py36.py
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
"""Async injection tests."""
|
||||||
|
|
||||||
|
from pytest import fixture, mark
|
||||||
|
|
||||||
|
from wiringsamples import asyncinjections
|
||||||
|
|
||||||
|
|
||||||
|
@fixture(autouse=True)
|
||||||
|
def container():
|
||||||
|
container = asyncinjections.Container()
|
||||||
|
container.wire(modules=[asyncinjections])
|
||||||
|
yield container
|
||||||
|
container.unwire()
|
||||||
|
|
||||||
|
|
||||||
|
@fixture(autouse=True)
|
||||||
|
def reset_counters():
|
||||||
|
asyncinjections.resource1.reset_counters()
|
||||||
|
asyncinjections.resource2.reset_counters()
|
||||||
|
|
||||||
|
|
||||||
|
@mark.asyncio
|
||||||
|
async def test_async_injections():
|
||||||
|
resource1, resource2 = await asyncinjections.async_injection()
|
||||||
|
|
||||||
|
assert resource1 is asyncinjections.resource1
|
||||||
|
assert asyncinjections.resource1.init_counter == 1
|
||||||
|
assert asyncinjections.resource1.shutdown_counter == 0
|
||||||
|
|
||||||
|
assert resource2 is asyncinjections.resource2
|
||||||
|
assert asyncinjections.resource2.init_counter == 1
|
||||||
|
assert asyncinjections.resource2.shutdown_counter == 0
|
||||||
|
|
||||||
|
|
||||||
|
@mark.asyncio
|
||||||
|
async def test_async_injections_with_closing():
|
||||||
|
resource1, resource2 = await asyncinjections.async_injection_with_closing()
|
||||||
|
|
||||||
|
assert resource1 is asyncinjections.resource1
|
||||||
|
assert asyncinjections.resource1.init_counter == 1
|
||||||
|
assert asyncinjections.resource1.shutdown_counter == 1
|
||||||
|
|
||||||
|
assert resource2 is asyncinjections.resource2
|
||||||
|
assert asyncinjections.resource2.init_counter == 1
|
||||||
|
assert asyncinjections.resource2.shutdown_counter == 1
|
||||||
|
|
||||||
|
resource1, resource2 = await asyncinjections.async_injection_with_closing()
|
||||||
|
|
||||||
|
assert resource1 is asyncinjections.resource1
|
||||||
|
assert asyncinjections.resource1.init_counter == 2
|
||||||
|
assert asyncinjections.resource1.shutdown_counter == 2
|
||||||
|
|
||||||
|
assert resource2 is asyncinjections.resource2
|
||||||
|
assert asyncinjections.resource2.init_counter == 2
|
||||||
|
assert asyncinjections.resource2.shutdown_counter == 2
|
55
tests/unit/wiring/string_ids/test_async_injections_py36.py
Normal file
55
tests/unit/wiring/string_ids/test_async_injections_py36.py
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
"""Async injection tests."""
|
||||||
|
|
||||||
|
from pytest import fixture, mark
|
||||||
|
|
||||||
|
from wiringstringidssamples import asyncinjections
|
||||||
|
|
||||||
|
|
||||||
|
@fixture(autouse=True)
|
||||||
|
def container():
|
||||||
|
container = asyncinjections.Container()
|
||||||
|
container.wire(modules=[asyncinjections])
|
||||||
|
yield container
|
||||||
|
container.unwire()
|
||||||
|
|
||||||
|
|
||||||
|
@fixture(autouse=True)
|
||||||
|
def reset_counters():
|
||||||
|
asyncinjections.resource1.reset_counters()
|
||||||
|
asyncinjections.resource2.reset_counters()
|
||||||
|
|
||||||
|
|
||||||
|
@mark.asyncio
|
||||||
|
async def test_async_injections():
|
||||||
|
resource1, resource2 = await asyncinjections.async_injection()
|
||||||
|
|
||||||
|
assert resource1 is asyncinjections.resource1
|
||||||
|
assert asyncinjections.resource1.init_counter == 1
|
||||||
|
assert asyncinjections.resource1.shutdown_counter == 0
|
||||||
|
|
||||||
|
assert resource2 is asyncinjections.resource2
|
||||||
|
assert asyncinjections.resource2.init_counter == 1
|
||||||
|
assert asyncinjections.resource2.shutdown_counter == 0
|
||||||
|
|
||||||
|
|
||||||
|
@mark.asyncio
|
||||||
|
async def test_async_injections_with_closing():
|
||||||
|
resource1, resource2 = await asyncinjections.async_injection_with_closing()
|
||||||
|
|
||||||
|
assert resource1 is asyncinjections.resource1
|
||||||
|
assert asyncinjections.resource1.init_counter == 1
|
||||||
|
assert asyncinjections.resource1.shutdown_counter == 1
|
||||||
|
|
||||||
|
assert resource2 is asyncinjections.resource2
|
||||||
|
assert asyncinjections.resource2.init_counter == 1
|
||||||
|
assert asyncinjections.resource2.shutdown_counter == 1
|
||||||
|
|
||||||
|
resource1, resource2 = await asyncinjections.async_injection_with_closing()
|
||||||
|
|
||||||
|
assert resource1 is asyncinjections.resource1
|
||||||
|
assert asyncinjections.resource1.init_counter == 2
|
||||||
|
assert asyncinjections.resource1.shutdown_counter == 2
|
||||||
|
|
||||||
|
assert resource2 is asyncinjections.resource2
|
||||||
|
assert asyncinjections.resource2.init_counter == 2
|
||||||
|
assert asyncinjections.resource2.shutdown_counter == 2
|
|
@ -27,8 +27,6 @@ import sys
|
||||||
sys.path.append(_TOP_DIR)
|
sys.path.append(_TOP_DIR)
|
||||||
sys.path.append(_SAMPLES_DIR)
|
sys.path.append(_SAMPLES_DIR)
|
||||||
|
|
||||||
from asyncutils import AsyncTestCase
|
|
||||||
|
|
||||||
from wiringsamples import module, package
|
from wiringsamples import module, package
|
||||||
from wiringsamples.service import Service
|
from wiringsamples.service import Service
|
||||||
from wiringsamples.container import Container, SubContainer
|
from wiringsamples.container import Container, SubContainer
|
||||||
|
@ -487,56 +485,3 @@ class WiringAndFastAPITest(unittest.TestCase):
|
||||||
self.assertEqual(result_2.shutdown_counter, 2)
|
self.assertEqual(result_2.shutdown_counter, 2)
|
||||||
|
|
||||||
self.assertIsNot(result_1, result_2)
|
self.assertIsNot(result_1, result_2)
|
||||||
|
|
||||||
|
|
||||||
class WiringAsyncInjectionsTest(AsyncTestCase):
|
|
||||||
|
|
||||||
def test_async_injections(self):
|
|
||||||
from wiringsamples import asyncinjections
|
|
||||||
|
|
||||||
container = asyncinjections.Container()
|
|
||||||
container.wire(modules=[asyncinjections])
|
|
||||||
self.addCleanup(container.unwire)
|
|
||||||
|
|
||||||
asyncinjections.resource1.reset_counters()
|
|
||||||
asyncinjections.resource2.reset_counters()
|
|
||||||
|
|
||||||
resource1, resource2 = self._run(asyncinjections.async_injection())
|
|
||||||
|
|
||||||
self.assertIs(resource1, asyncinjections.resource1)
|
|
||||||
self.assertEqual(asyncinjections.resource1.init_counter, 1)
|
|
||||||
self.assertEqual(asyncinjections.resource1.shutdown_counter, 0)
|
|
||||||
|
|
||||||
self.assertIs(resource2, asyncinjections.resource2)
|
|
||||||
self.assertEqual(asyncinjections.resource2.init_counter, 1)
|
|
||||||
self.assertEqual(asyncinjections.resource2.shutdown_counter, 0)
|
|
||||||
|
|
||||||
def test_async_injections_with_closing(self):
|
|
||||||
from wiringsamples import asyncinjections
|
|
||||||
|
|
||||||
container = asyncinjections.Container()
|
|
||||||
container.wire(modules=[asyncinjections])
|
|
||||||
self.addCleanup(container.unwire)
|
|
||||||
|
|
||||||
asyncinjections.resource1.reset_counters()
|
|
||||||
asyncinjections.resource2.reset_counters()
|
|
||||||
|
|
||||||
resource1, resource2 = self._run(asyncinjections.async_injection_with_closing())
|
|
||||||
|
|
||||||
self.assertIs(resource1, asyncinjections.resource1)
|
|
||||||
self.assertEqual(asyncinjections.resource1.init_counter, 1)
|
|
||||||
self.assertEqual(asyncinjections.resource1.shutdown_counter, 1)
|
|
||||||
|
|
||||||
self.assertIs(resource2, asyncinjections.resource2)
|
|
||||||
self.assertEqual(asyncinjections.resource2.init_counter, 1)
|
|
||||||
self.assertEqual(asyncinjections.resource2.shutdown_counter, 1)
|
|
||||||
|
|
||||||
resource1, resource2 = self._run(asyncinjections.async_injection_with_closing())
|
|
||||||
|
|
||||||
self.assertIs(resource1, asyncinjections.resource1)
|
|
||||||
self.assertEqual(asyncinjections.resource1.init_counter, 2)
|
|
||||||
self.assertEqual(asyncinjections.resource1.shutdown_counter, 2)
|
|
||||||
|
|
||||||
self.assertIs(resource2, asyncinjections.resource2)
|
|
||||||
self.assertEqual(asyncinjections.resource2.init_counter, 2)
|
|
||||||
self.assertEqual(asyncinjections.resource2.shutdown_counter, 2)
|
|
||||||
|
|
|
@ -31,8 +31,6 @@ import sys
|
||||||
sys.path.append(_TOP_DIR)
|
sys.path.append(_TOP_DIR)
|
||||||
sys.path.append(_SAMPLES_DIR)
|
sys.path.append(_SAMPLES_DIR)
|
||||||
|
|
||||||
from asyncutils import AsyncTestCase
|
|
||||||
|
|
||||||
from wiringstringidssamples import module, package
|
from wiringstringidssamples import module, package
|
||||||
from wiringstringidssamples.service import Service
|
from wiringstringidssamples.service import Service
|
||||||
from wiringstringidssamples.container import Container, SubContainer
|
from wiringstringidssamples.container import Container, SubContainer
|
||||||
|
@ -358,56 +356,3 @@ class WireDynamicContainerTest(unittest.TestCase):
|
||||||
|
|
||||||
service = module.test_function()
|
service = module.test_function()
|
||||||
self.assertIsInstance(service, Service)
|
self.assertIsInstance(service, Service)
|
||||||
|
|
||||||
|
|
||||||
class WiringAsyncInjectionsTest(AsyncTestCase):
|
|
||||||
|
|
||||||
def test_async_injections(self):
|
|
||||||
from wiringstringidssamples import asyncinjections
|
|
||||||
|
|
||||||
container = asyncinjections.Container()
|
|
||||||
container.wire(modules=[asyncinjections])
|
|
||||||
self.addCleanup(container.unwire)
|
|
||||||
|
|
||||||
asyncinjections.resource1.reset_counters()
|
|
||||||
asyncinjections.resource2.reset_counters()
|
|
||||||
|
|
||||||
resource1, resource2 = self._run(asyncinjections.async_injection())
|
|
||||||
|
|
||||||
self.assertIs(resource1, asyncinjections.resource1)
|
|
||||||
self.assertEqual(asyncinjections.resource1.init_counter, 1)
|
|
||||||
self.assertEqual(asyncinjections.resource1.shutdown_counter, 0)
|
|
||||||
|
|
||||||
self.assertIs(resource2, asyncinjections.resource2)
|
|
||||||
self.assertEqual(asyncinjections.resource2.init_counter, 1)
|
|
||||||
self.assertEqual(asyncinjections.resource2.shutdown_counter, 0)
|
|
||||||
|
|
||||||
def test_async_injections_with_closing(self):
|
|
||||||
from wiringstringidssamples import asyncinjections
|
|
||||||
|
|
||||||
container = asyncinjections.Container()
|
|
||||||
container.wire(modules=[asyncinjections])
|
|
||||||
self.addCleanup(container.unwire)
|
|
||||||
|
|
||||||
asyncinjections.resource1.reset_counters()
|
|
||||||
asyncinjections.resource2.reset_counters()
|
|
||||||
|
|
||||||
resource1, resource2 = self._run(asyncinjections.async_injection_with_closing())
|
|
||||||
|
|
||||||
self.assertIs(resource1, asyncinjections.resource1)
|
|
||||||
self.assertEqual(asyncinjections.resource1.init_counter, 1)
|
|
||||||
self.assertEqual(asyncinjections.resource1.shutdown_counter, 1)
|
|
||||||
|
|
||||||
self.assertIs(resource2, asyncinjections.resource2)
|
|
||||||
self.assertEqual(asyncinjections.resource2.init_counter, 1)
|
|
||||||
self.assertEqual(asyncinjections.resource2.shutdown_counter, 1)
|
|
||||||
|
|
||||||
resource1, resource2 = self._run(asyncinjections.async_injection_with_closing())
|
|
||||||
|
|
||||||
self.assertIs(resource1, asyncinjections.resource1)
|
|
||||||
self.assertEqual(asyncinjections.resource1.init_counter, 2)
|
|
||||||
self.assertEqual(asyncinjections.resource1.shutdown_counter, 2)
|
|
||||||
|
|
||||||
self.assertIs(resource2, asyncinjections.resource2)
|
|
||||||
self.assertEqual(asyncinjections.resource2.init_counter, 2)
|
|
||||||
self.assertEqual(asyncinjections.resource2.shutdown_counter, 2)
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user