mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2025-07-05 12:53:30 +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
|
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):
|
class ModuleAsPackageTest(unittest.TestCase):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user