2
2
3
3
from decimal import Decimal
4
4
5
- from dependency_injector import errors
6
- from dependency_injector .wiring import Closing , Provide , Provider , wire
7
5
from pytest import fixture , mark , raises
8
-
9
6
from samples .wiringstringids import module , package , resourceclosing
10
- from samples .wiringstringids .service import Service
11
7
from samples .wiringstringids .container import Container , SubContainer
8
+ from samples .wiringstringids .service import Service
9
+
10
+ from dependency_injector import errors
11
+ from dependency_injector .wiring import Closing , Provide , Provider , wire
12
12
13
13
14
14
@fixture (autouse = True )
@@ -33,14 +33,12 @@ def subcontainer():
33
33
container .unwire ()
34
34
35
35
36
- @fixture (params = [
37
- resourceclosing .Container ,
38
- resourceclosing .ContainerSingleton ,
39
- ])
36
+ @fixture
40
37
def resourceclosing_container (request ):
41
- container = request . param ()
38
+ container = resourceclosing . Container ()
42
39
container .wire (modules = [resourceclosing ])
43
- yield container
40
+ with container .reset_singletons ():
41
+ yield container
44
42
container .unwire ()
45
43
46
44
@@ -277,72 +275,65 @@ def test_wire_multiple_containers():
277
275
278
276
@mark .usefixtures ("resourceclosing_container" )
279
277
def test_closing_resource ():
280
- resourceclosing .Service .reset_counter ()
281
-
282
278
result_1 = resourceclosing .test_function ()
283
279
assert isinstance (result_1 , resourceclosing .Service )
284
280
assert result_1 .init_counter == 1
285
281
assert result_1 .shutdown_counter == 1
282
+ assert result_1 .dependencies == {"_list" : [1 , 2 ], "_dict" : {"a" : 3 , "b" : 4 }}
286
283
287
284
result_2 = resourceclosing .test_function ()
288
285
assert isinstance (result_2 , resourceclosing .Service )
289
286
assert result_2 .init_counter == 2
290
287
assert result_2 .shutdown_counter == 2
288
+ assert result_1 .dependencies == {"_list" : [1 , 2 ], "_dict" : {"a" : 3 , "b" : 4 }}
291
289
292
290
assert result_1 is not result_2
293
291
294
292
295
293
@mark .usefixtures ("resourceclosing_container" )
296
294
def test_closing_dependency_resource ():
297
- resourceclosing .Service .reset_counter ()
298
-
299
295
result_1 = resourceclosing .test_function_dependency ()
300
296
assert isinstance (result_1 , resourceclosing .FactoryService )
301
- assert result_1 .service .init_counter == 1
302
- assert result_1 .service .shutdown_counter == 1
297
+ assert result_1 .service .init_counter == 2
298
+ assert result_1 .service .shutdown_counter == 2
303
299
304
300
result_2 = resourceclosing .test_function_dependency ()
301
+
305
302
assert isinstance (result_2 , resourceclosing .FactoryService )
306
- assert result_2 .service .init_counter == 2
307
- assert result_2 .service .shutdown_counter == 2
303
+ assert result_2 .service .init_counter == 4
304
+ assert result_2 .service .shutdown_counter == 4
308
305
309
306
310
307
@mark .usefixtures ("resourceclosing_container" )
311
308
def test_closing_dependency_resource_kwargs ():
312
- resourceclosing .Service .reset_counter ()
313
-
314
309
result_1 = resourceclosing .test_function_dependency_kwargs ()
315
310
assert isinstance (result_1 , resourceclosing .FactoryService )
316
- assert result_1 .service .init_counter == 1
317
- assert result_1 .service .shutdown_counter == 1
311
+ assert result_1 .service .init_counter == 2
312
+ assert result_1 .service .shutdown_counter == 2
318
313
319
314
result_2 = resourceclosing .test_function_dependency_kwargs ()
320
315
assert isinstance (result_2 , resourceclosing .FactoryService )
321
- assert result_2 .service .init_counter == 2
322
- assert result_2 .service .shutdown_counter == 2
316
+ assert result_2 .service .init_counter == 4
317
+ assert result_2 .service .shutdown_counter == 4
323
318
324
319
325
320
@mark .usefixtures ("resourceclosing_container" )
326
321
def test_closing_nested_dependency_resource ():
327
- resourceclosing .Service .reset_counter ()
328
-
329
322
result_1 = resourceclosing .test_function_nested_dependency ()
330
323
assert isinstance (result_1 , resourceclosing .NestedService )
331
- assert result_1 .factory_service .service .init_counter == 1
332
- assert result_1 .factory_service .service .shutdown_counter == 1
324
+ assert result_1 .factory_service .service .init_counter == 2
325
+ assert result_1 .factory_service .service .shutdown_counter == 2
333
326
334
327
result_2 = resourceclosing .test_function_nested_dependency ()
335
328
assert isinstance (result_2 , resourceclosing .NestedService )
336
- assert result_2 .factory_service .service .init_counter == 2
337
- assert result_2 .factory_service .service .shutdown_counter == 2
329
+ assert result_2 .factory_service .service .init_counter == 4
330
+ assert result_2 .factory_service .service .shutdown_counter == 4
338
331
339
332
assert result_1 is not result_2
340
333
341
334
342
335
@mark .usefixtures ("resourceclosing_container" )
343
336
def test_closing_resource_bypass_marker_injection ():
344
- resourceclosing .Service .reset_counter ()
345
-
346
337
result_1 = resourceclosing .test_function (service = Closing [Provide ["service" ]])
347
338
assert isinstance (result_1 , resourceclosing .Service )
348
339
assert result_1 .init_counter == 1
@@ -358,7 +349,6 @@ def test_closing_resource_bypass_marker_injection():
358
349
359
350
@mark .usefixtures ("resourceclosing_container" )
360
351
def test_closing_resource_context ():
361
- resourceclosing .Service .reset_counter ()
362
352
service = resourceclosing .Service ()
363
353
364
354
result_1 = resourceclosing .test_function (service = service )
0 commit comments