Add tests for invalid type of marker

This commit is contained in:
Roman Mogylatov 2021-02-28 20:26:21 -05:00
parent 2ef5ddfe4c
commit 515dbd63cf
3 changed files with 18 additions and 1 deletions

View File

@ -550,7 +550,7 @@ def _is_method(member):
def _is_marker(member): def _is_marker(member):
return isinstance(member, Provide) or isinstance(member, Provider) return isinstance(member, _Marker)
def _get_patched(fn, reference_injections, reference_closing): def _get_patched(fn, reference_injections, reference_closing):

View File

@ -0,0 +1,8 @@
"""Test module for wiring with invalid type of marker for attribute injection."""
from dependency_injector.wiring import Closing
from .container import Container
service = Closing[Container.service]

View File

@ -70,6 +70,15 @@ class WiringTest(unittest.TestCase):
self.assertIsInstance(module.service_provider(), Service) self.assertIsInstance(module.service_provider(), Service)
self.assertIsInstance(module.undefined, Provide) self.assertIsInstance(module.undefined, Provide)
def test_module_attribute_wiring_with_invalid_marker(self):
from wiringsamples import module_invalid_attr_injection
with self.assertRaises(Exception) as context:
self.container.wire(modules=[module_invalid_attr_injection])
self.assertEqual(
str(context.exception),
'Unknown type of marker {0}'.format(module_invalid_attr_injection.service),
)
def test_class_wiring(self): def test_class_wiring(self):
test_class_object = module.TestClass() test_class_object = module.TestClass()
self.assertIsInstance(test_class_object.service, Service) self.assertIsInstance(test_class_object.service, Service)