8000 Add tests for module and class · bimec/python-dependency-injector@aec662a · GitHub
[go: up one dir, main page]

Skip to content

Commit aec662a

Browse files
committed
Add tests for module and class
1 parent 1d28e62 commit aec662a

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

tests/unit/samples/wiringsamples/module.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,15 @@
99
from .service import Service
1010

1111

12+
service = Provide[Container.service]
13+
service_provider = Provider[Container.service]
14+
15+
1216
class TestClass:
1317

18+
service = Provide[Container.service]
19+
service_provider = Provider[Container.service]
20+
1421
@inject
1522
def __init__(self, service: Service = Provide[Container.service]):
1623
self.service = service

tests/unit/wiring/test_wiring_py36.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from dependency_injector.wiring import (
77
wire,
88
Provide,
9+
Provider,
910
Closing,
1011
register_loader_containers,
1112
unregister_loader_containers,
@@ -64,6 +65,10 @@ def test_package_submodule_lookup(self):
6465
service = test_function()
6566
self.assertIsInstance(service, Service)
6667

68+
def test_module_attributes_wiring(self):
69+
self.assertIsInstance(module.service, Service)
70+
self.assertIsInstance(module.service_provider(), Service)
71+
6772
def test_class_wiring(self):
6873
test_class_object = module.TestClass()
6974
self.assertIsInstance(test_class_object.service, Service)
@@ -97,6 +102,10 @@ def test_instance_staticmethod_wiring(self):
97102
service = instance.static_method()
98103
self.assertIsInstance(service, Service)
99104

105+
def test_class_attribute_wiring(self):
106+
self.assertIsInstance(module.TestClass.service, Service)
107+
self.assertIsInstance(module.TestClass.service_provider(), Service)
108+
100109
def test_function_wiring(self):
101110
service = module.test_function()
102111
self.assertIsInstance(service, Service)
@@ -215,6 +224,16 @@ def test_unwire_package_function_by_reference(self):
215224
self.container.unwire()
216225
self.assertIsInstance(submodule.test_function(), Provide)
217226

227+
def test_unwire_module_attributes(self):
228+
self.container.unwire()
229+
self.assertIsInstance(module.service, Provide)
230+
self.assertIsInstance(module.service_provider, Provider)
231+
232+
def test_unwire_class_attributes(self):
233+
self.container.unwire()
234+
self.assertIsInstance(module.TestClass.service, Provide)
235+
self.assertIsInstance(module.TestClass.service_provider, Provider)
236+
218237
def test_wire_multiple_containers(self):
219238
sub_container = SubContainer()
220239
sub_container.wire(

0 commit comments

Comments
 (0)
0