Skip to content

Commit

Permalink
Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
rmk135 committed Mar 3, 2021
1 parent a048278 commit ef57091
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions tests/unit/providers/test_container_py2_py3.py
Expand Up @@ -176,6 +176,48 @@ class B(containers.DeclarativeContainer):
result = b.a().c().bar()
self.assertEqual(result, 'foo++')

def test_reset_last_overriding(self):
application = TestApplication(config=_copied(TEST_CONFIG_1))
application.core.override(TestCore(config=_copied(TEST_CONFIG_2['core'])))

application.core.reset_last_overriding()

self.assertEqual(application.dict_factory(), {'value': TEST_VALUE_1})

def test_reset_last_overriding_only_overridden(self):
application = TestApplication(config=_copied(TEST_CONFIG_1))
application.core.override(providers.DependenciesContainer(config=_copied(TEST_CONFIG_2['core'])))

application.core.reset_last_overriding()

self.assertEqual(application.dict_factory(), {'value': TEST_VALUE_1})

def test_override_context_manager(self):
application = TestApplication(config=_copied(TEST_CONFIG_1))
overriding_core = TestCore(config=_copied(TEST_CONFIG_2['core']))

with application.core.override(overriding_core) as context_core:
self.assertEqual(application.dict_factory(), {'value': TEST_VALUE_2})
self.assertIs(context_core(), overriding_core)

self.assertEqual(application.dict_factory(), {'value': TEST_VALUE_1})

def test_reset_override(self):
application = TestApplication(config=_copied(TEST_CONFIG_1))
application.core.override(TestCore(config=_copied(TEST_CONFIG_2['core'])))

application.core.reset_override()

self.assertEqual(application.dict_factory(), {'value': None})

def test_reset_override_only_overridden(self):
application = TestApplication(config=_copied(TEST_CONFIG_1))
application.core.override(providers.DependenciesContainer(config=_copied(TEST_CONFIG_2['core'])))

application.core.reset_override()

self.assertEqual(application.dict_factory(), {'value': None})

def test_assign_parent(self):
parent = providers.DependenciesContainer()
provider = providers.Container(TestCore)
Expand Down

0 comments on commit ef57091

Please sign in to comment.