|
4 | 4 | from dependency_injector.wiring import (
|
5 | 5 | wire,
|
6 | 6 | Provide,
|
7 |
| - Closing) |
| 7 | + Provider, |
| 8 | + Closing, |
| 9 | +) |
8 | 10 | from dependency_injector import errors
|
9 | 11 |
|
10 | 12 | # Runtime import to avoid syntax errors in samples on Python < 3.5
|
@@ -59,6 +61,11 @@ def test_package_submodule_lookup(self):
|
59 | 61 | service = test_function()
|
60 | 62 | self.assertIsInstance(service, Service)
|
61 | 63 |
|
| 64 | + def test_module_attributes_wiring(self): |
| 65 | + self.assertIsInstance(module.service, Service) |
| 66 | + self.assertIsInstance(module.service_provider(), Service) |
| 67 | + self.assertIsInstance(module.undefined, Provide) |
| 68 | + |
62 | 69 | def test_class_wiring(self):
|
63 | 70 | test_class_object = module.TestClass()
|
64 | 71 | self.assertIsInstance(test_class_object.service, Service)
|
@@ -92,6 +99,11 @@ def test_instance_staticmethod_wiring(self):
|
92 | 99 | service = instance.static_method()
|
93 | 100 | self.assertIsInstance(service, Service)
|
94 | 101 |
|
| 102 | + def test_class_attribute_wiring(self): |
| 103 | + self.assertIsInstance(module.TestClass.service, Service) |
| 104 | + self.assertIsInstance(module.TestClass.service_provider(), Service) |
| 105 | + self.assertIsInstance(module.TestClass.undefined, Provide) |
| 106 | + |
95 | 107 | def test_function_wiring(self):
|
96 | 108 | service = module.test_function()
|
97 | 109 | self.assertIsInstance(service, Service)
|
@@ -210,6 +222,18 @@ def test_unwire_package_function_by_reference(self):
|
210 | 222 | self.container.unwire()
|
211 | 223 | self.assertIsInstance(submodule.test_function(), Provide)
|
212 | 224 |
|
| 225 | + def test_unwire_module_attributes(self): |
| 226 | + self.container.unwire() |
| 227 | + self.assertIsInstance(module.service, Provide) |
| 228 | + self.assertIsInstance(module.service_provider, Provider) |
| 229 | + self.assertIsInstance(module.undefined, Provide) |
| 230 | + |
| 231 | + def test_unwire_class_attributes(self): |
| 232 | + self.container.unwire() |
| 233 | + self.assertIsInstance(module.TestClass.service, Provide) |
| 234 | + self.assertIsInstance(module.TestClass.service_provider, Provider) |
| 235 | + self.assertIsInstance(module.TestClass.undefined, Provide) |
| 236 | + |
213 | 237 | def test_wire_multiple_containers(self):
|
214 | 238 | sub_container = SubContainer()
|
215 | 239 | sub_container.wire(
|
|
0 commit comments