8000 Add tests for module and class for string ids · kiq7/python-dependency-injector@1df2f60 · GitHub
[go: up one dir, main page]

Skip to content

Commit 1df2f60

Browse files
committed
Add tests for module and class for string ids
1 parent aec662a commit 1df2f60

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

tests/unit/samples/wiringstringidssamples/module.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,17 @@
1919
from .service import Service
2020

2121

22+
service = Provide['service']
23+
service_provider = Provider['service']
24+
undefined = Provide['undefined']
25+
26+
2227
class TestClass:
2328

29+
service = Provide['service']
30+
service_provider = Provider['service']
31+
undefined = Provide['undefined']
32+
2433
@inject
2534
def __init__(self, service: Service = Provide['service']):
2635
self.service = service

tests/unit/wiring/test_wiring_string_ids_py36.py

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
from dependency_injector.wiring import (
55
wire,
66
Provide,
7-
Closing)
7+
Provider,
8+
Closing,
9+
)
810
from dependency_injector import errors
911

1012
# Runtime import to avoid syntax errors in samples on Python < 3.5
@@ -59,6 +61,11 @@ def test_package_submodule_lookup(self):
5961
service = test_function()
6062
self.assertIsInstance(service, Service)
6163

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+
6269
def test_class_wiring(self):
6370
test_class_object = module.TestClass()
6471
self.assertIsInstance(test_class_object.service, Service)
@@ -92,6 +99,11 @@ def test_instance_staticmethod_wiring(self):
9299
service = instance.static_method()
93100
self.assertIsInstance(service, Service)
94101

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+
95107
def test_function_wiring(self):
96108
service = module.test_function()
97109
self.assertIsInstance(service, Service)
@@ -210,6 +222,18 @@ def test_unwire_package_function_by_reference(self):
210222
self.container.unwire()
211223
self.assertIsInstance(submodule.test_function(), Provide)
212224

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+
213237
def test_wire_multiple_containers(self):
214238
sub_container = SubContainer()
215239
sub_container.wire(

0 commit comments

Comments
 (0)
0