From fc61b9360335eb803d822c0de2c8010dbe55c4ac Mon Sep 17 00:00:00 2001 From: Roman Mogylatov Date: Thu, 14 Oct 2021 16:27:15 -0400 Subject: [PATCH] Migrate container tests --- tests/unit/containers/test_traversal_py3.py | 122 +++++++------------- tests/unit/containers/test_types_py36.py | 19 ++- 2 files changed, 48 insertions(+), 93 deletions(-) diff --git a/tests/unit/containers/test_traversal_py3.py b/tests/unit/containers/test_traversal_py3.py index 59b81197..d10d1dff 100644 --- a/tests/unit/containers/test_traversal_py3.py +++ b/tests/unit/containers/test_traversal_py3.py @@ -1,93 +1,53 @@ -import unittest +"""Container traversing tests.""" from dependency_injector import containers, providers -class TraverseProviderTests(unittest.TestCase): - - def test_nested_providers(self): - class Container(containers.DeclarativeContainer): - obj_factory = providers.DelegatedFactory( - dict, - foo=providers.Resource( - dict, - foo="bar" - ), - bar=providers.Resource( - dict, - foo="bar" - ) - ) - - container = Container() - all_providers = list(container.traverse()) - - self.assertIn(container.obj_factory, all_providers) - self.assertIn(container.obj_factory.kwargs["foo"], all_providers) - self.assertIn(container.obj_factory.kwargs["bar"], all_providers) - self.assertEqual(len(all_providers), 3) - - def test_nested_providers_with_filtering(self): - class Container(containers.DeclarativeContainer): - obj_factory = providers.DelegatedFactory( - dict, - foo=providers.Resource( - dict, - foo="bar" - ), - bar=providers.Resource( - dict, - foo="bar" - ) - ) - - container = Container() - all_providers = list(container.traverse(types=[providers.Resource])) - - self.assertIn(container.obj_factory.kwargs["foo"], all_providers) - self.assertIn(container.obj_factory.kwargs["bar"], all_providers) - self.assertEqual(len(all_providers), 2) +class Container(containers.DeclarativeContainer): + obj_factory = providers.DelegatedFactory( + dict, + foo=providers.Resource( + dict, + foo="bar" + ), + bar=providers.Resource( + dict, + foo="bar" + ) + ) -class TraverseProviderDeclarativeTests(unittest.TestCase): +def test_nested_providers(): + container = Container() + all_providers = list(container.traverse()) - def test_nested_providers(self): - class Container(containers.DeclarativeContainer): - obj_factory = providers.DelegatedFactory( - dict, - foo=providers.Resource( - dict, - foo="bar" - ), - bar=providers.Resource( - dict, - foo="bar" - ) - ) + assert container.obj_factory in all_providers + assert container.obj_factory.kwargs["foo"] in all_providers + assert container.obj_factory.kwargs["bar"] in all_providers + assert len(all_providers) == 3 - all_providers = list(Container.traverse()) - self.assertIn(Container.obj_factory, all_providers) - self.assertIn(Container.obj_factory.kwargs["foo"], all_providers) - self.assertIn(Container.obj_factory.kwargs["bar"], all_providers) - self.assertEqual(len(all_providers), 3) +def test_nested_providers_with_filtering(): + container = Container() + all_providers = list(container.traverse(types=[providers.Resource])) - def test_nested_providers_with_filtering(self): - class Container(containers.DeclarativeContainer): - obj_factory = providers.DelegatedFactory( - dict, - foo=providers.Resource( - dict, - foo="bar" - ), - bar=providers.Resource( - dict, - foo="bar" - ) - ) + assert container.obj_factory.kwargs["foo"] in all_providers + assert container.obj_factory.kwargs["bar"] in all_providers + assert len(all_providers) == 2 - all_providers = list(Container.traverse(types=[providers.Resource])) - self.assertIn(Container.obj_factory.kwargs["foo"], all_providers) - self.assertIn(Container.obj_factory.kwargs["bar"], all_providers) - self.assertEqual(len(all_providers), 2) +def test_container_cls_nested_providers(): + all_providers = list(Container.traverse()) + + assert Container.obj_factory in all_providers + assert Container.obj_factory.kwargs["foo"] in all_providers + assert Container.obj_factory.kwargs["bar"] in all_providers + assert len(all_providers) == 3 + + +def test_container_cls_nested_providers_with_filtering(): + all_providers = list(Container.traverse(types=[providers.Resource])) + + assert Container.obj_factory.kwargs["foo"] in all_providers + assert Container.obj_factory.kwargs["bar"] in all_providers + assert len(all_providers) == 2 diff --git a/tests/unit/containers/test_types_py36.py b/tests/unit/containers/test_types_py36.py index e55a2b1b..1349157e 100644 --- a/tests/unit/containers/test_types_py36.py +++ b/tests/unit/containers/test_types_py36.py @@ -1,18 +1,13 @@ -import unittest +"""Container typing in runtime tests.""" from dependency_injector import containers -class SomeClass: - ... +def test_types_declarative(): + container: containers.Container = containers.DeclarativeContainer() + assert isinstance(container, containers.Container) -class TypesTest(unittest.TestCase): - - def test_declarative(self): - container: containers.Container = containers.DeclarativeContainer() - self.assertIsInstance(container, containers.Container) - - def test_dynamic(self): - container: containers.Container = containers.DynamicContainer() - self.assertIsInstance(container, containers.Container) +def test_types_dynamic(): + container: containers.Container = containers.DynamicContainer() + assert isinstance(container, containers.Container)