File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed
tests/unit/containers/instance Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -335,6 +335,10 @@ class DynamicContainer(Container):
335
335
336
336
def init_resources (self , resource_type = providers.Resource):
337
337
""" Initialize all container resources."""
338
+
339
+ if not issubclass (resource_type, providers.Resource):
340
+ raise ValueError (" resource_type must be a subclass of Resource provider" )
341
+
338
342
futures = []
339
343
340
344
for provider in self .traverse(types = [resource_type]):
@@ -348,6 +352,10 @@ class DynamicContainer(Container):
348
352
349
353
def shutdown_resources (self , resource_type = providers.Resource):
350
354
""" Shutdown all container resources."""
355
+
356
+ if not issubclass (resource_type, providers.Resource):
357
+ raise ValueError (" resource_type must be a subclass of Resource provider" )
358
+
351
359
def _independent_resources (resources ):
352
360
for resource in resources:
353
361
for other_resource in resources:
Original file line number Diff line number Diff line change @@ -325,6 +325,19 @@ class Container(containers.DeclarativeContainer):
325
325
assert _init2 .shutdown_counter == 2
326
326
327
327
328
+ def test_init_shutdown_resources_wrong_type () -> None :
329
+ class Container (containers .DeclarativeContainer ):
330
+ pass
331
+
332
+ c = Container ()
333
+
334
+ with raises (ValueError , match = r"resource_type must be a subclass of Resource provider" ):
335
+ c .init_resources (int ) # type: ignore[arg-type]
336
+
337
+ with raises (ValueError , match = r"resource_type must be a subclass of Resource provider" ):
338
+ c .shutdown_resources (int ) # type: ignore[arg-type]
339
+
340
+
328
341
def test_reset_singletons ():
329
342
class SubSubContainer (containers .DeclarativeContainer ):
330
343
singleton = providers .Singleton (object )
You can’t perform that action at this time.
0 commit comments