Migrate wiring async injection tests

This commit is contained in:
Roman Mogylatov 2021-10-13 13:17:54 -04:00
parent 0cd1a1646d
commit 5e59e8d729
4 changed files with 110 additions and 110 deletions

View 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

View 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

View File

@ -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)

View File

@ -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)