mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2025-07-04 20:33:13 +03:00
Migrate wiring config tests
This commit is contained in:
parent
150432032a
commit
14449c4538
|
@ -0,0 +1,92 @@
|
|||
"""Tests for specifying wiring config in the container."""
|
||||
|
||||
from dependency_injector import containers
|
||||
from dependency_injector.wiring import Provide
|
||||
from pytest import fixture, mark
|
||||
|
||||
from wiringsamples import module
|
||||
from wiringsamples.service import Service
|
||||
from wiringsamples.container import Container
|
||||
|
||||
|
||||
@fixture(autouse=True)
|
||||
def container(wiring_config: containers.WiringConfiguration):
|
||||
original_wiring_config = Container.wiring_config
|
||||
Container.wiring_config = wiring_config
|
||||
container = Container()
|
||||
yield container
|
||||
container.unwire()
|
||||
Container.wiring_config = original_wiring_config
|
||||
|
||||
|
||||
@mark.parametrize(
|
||||
"wiring_config",
|
||||
[
|
||||
containers.WiringConfiguration(
|
||||
modules=["wiringsamples.module"],
|
||||
packages=["wiringsamples.package"],
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_absolute_names():
|
||||
service = module.test_function()
|
||||
assert isinstance(service, Service)
|
||||
|
||||
from wiringsamples.package.subpackage.submodule import test_function
|
||||
service = test_function()
|
||||
assert isinstance(service, Service)
|
||||
|
||||
|
||||
@mark.parametrize(
|
||||
"wiring_config",
|
||||
[
|
||||
containers.WiringConfiguration(
|
||||
modules=[".module"],
|
||||
packages=[".package"],
|
||||
from_package="wiringsamples",
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_relative_names_with_explicit_package():
|
||||
service = module.test_function()
|
||||
assert isinstance(service, Service)
|
||||
|
||||
from wiringsamples.package.subpackage.submodule import test_function
|
||||
service = test_function()
|
||||
assert isinstance(service, Service)
|
||||
|
||||
|
||||
@mark.parametrize(
|
||||
"wiring_config",
|
||||
[
|
||||
containers.WiringConfiguration(
|
||||
modules=[".module"],
|
||||
packages=[".package"],
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_relative_names_with_auto_package():
|
||||
service = module.test_function()
|
||||
assert isinstance(service, Service)
|
||||
|
||||
from wiringsamples.package.subpackage.submodule import test_function
|
||||
service = test_function()
|
||||
assert isinstance(service, Service)
|
||||
|
||||
|
||||
@mark.parametrize(
|
||||
"wiring_config",
|
||||
[
|
||||
containers.WiringConfiguration(
|
||||
modules=[".module"],
|
||||
auto_wire=False,
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_auto_wire_disabled(container: Container):
|
||||
service = module.test_function()
|
||||
assert isinstance(service, Provide)
|
||||
|
||||
container.wire()
|
||||
service = module.test_function()
|
||||
assert isinstance(service, Service)
|
|
@ -29,73 +29,6 @@ from wiringsamples.service import Service
|
|||
from wiringsamples.container import Container
|
||||
|
||||
|
||||
class WiringWithWiringConfigInTheContainerTest(unittest.TestCase):
|
||||
|
||||
container: Container
|
||||
original_wiring_config = Container.wiring_config
|
||||
|
||||
def tearDown(self) -> None:
|
||||
Container.wiring_config = self.original_wiring_config
|
||||
self.container.unwire()
|
||||
|
||||
def test_absolute_names(self):
|
||||
Container.wiring_config = containers.WiringConfiguration(
|
||||
modules=["wiringsamples.module"],
|
||||
packages=["wiringsamples.package"],
|
||||
)
|
||||
self.container = Container()
|
||||
|
||||
service = module.test_function()
|
||||
self.assertIsInstance(service, Service)
|
||||
|
||||
from wiringsamples.package.subpackage.submodule import test_function
|
||||
service = test_function()
|
||||
self.assertIsInstance(service, Service)
|
||||
|
||||
def test_relative_names_with_explicit_package(self):
|
||||
Container.wiring_config = containers.WiringConfiguration(
|
||||
modules=[".module"],
|
||||
packages=[".package"],
|
||||
from_package="wiringsamples",
|
||||
)
|
||||
self.container = Container()
|
||||
|
||||
service = module.test_function()
|
||||
self.assertIsInstance(service, Service)
|
||||
|
||||
from wiringsamples.package.subpackage.submodule import test_function
|
||||
service = test_function()
|
||||
self.assertIsInstance(service, Service)
|
||||
|
||||
def test_relative_names_with_auto_package(self):
|
||||
Container.wiring_config = containers.WiringConfiguration(
|
||||
modules=[".module"],
|
||||
packages=[".package"],
|
||||
)
|
||||
self.container = Container()
|
||||
|
||||
service = module.test_function()
|
||||
self.assertIsInstance(service, Service)
|
||||
|
||||
from wiringsamples.package.subpackage.submodule import test_function
|
||||
service = test_function()
|
||||
self.assertIsInstance(service, Service)
|
||||
|
||||
def test_auto_wire_disabled(self):
|
||||
Container.wiring_config = containers.WiringConfiguration(
|
||||
modules=[".module"],
|
||||
auto_wire=False,
|
||||
)
|
||||
self.container = Container()
|
||||
|
||||
service = module.test_function()
|
||||
self.assertIsInstance(service, Provide)
|
||||
|
||||
self.container.wire()
|
||||
service = module.test_function()
|
||||
self.assertIsInstance(service, Service)
|
||||
|
||||
|
||||
class ModuleAsPackageTest(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
|
Loading…
Reference in New Issue
Block a user