From 14449c4538fd2c568704b8b6d779ac03e0bb655d Mon Sep 17 00:00:00 2001 From: Roman Mogylatov Date: Wed, 13 Oct 2021 18:55:04 -0400 Subject: [PATCH] Migrate wiring config tests --- .../test_wiring_config_in_container_py36.py | 92 +++++++++++++++++++ tests/unit/wiring/test_wiring_py36.py | 67 -------------- 2 files changed, 92 insertions(+), 67 deletions(-) create mode 100644 tests/unit/wiring/provider_ids/test_wiring_config_in_container_py36.py diff --git a/tests/unit/wiring/provider_ids/test_wiring_config_in_container_py36.py b/tests/unit/wiring/provider_ids/test_wiring_config_in_container_py36.py new file mode 100644 index 00000000..cb45f2df --- /dev/null +++ b/tests/unit/wiring/provider_ids/test_wiring_config_in_container_py36.py @@ -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) diff --git a/tests/unit/wiring/test_wiring_py36.py b/tests/unit/wiring/test_wiring_py36.py index 97a90638..d6f4cf04 100644 --- a/tests/unit/wiring/test_wiring_py36.py +++ b/tests/unit/wiring/test_wiring_py36.py @@ -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):