@@ -203,6 +203,7 @@ def callback(
203
203
ClsReqResponse : ClsReqResponse (),
204
204
ClsNoProviderRequired : ClsNoProviderRequired (),
205
205
}
206
+ assert injector .weak_cache .get (request ).keys () == {ClsReqResponse , Cls1 , Cls2 }
206
207
207
208
instances = yield from injector .build_instances_from_providers (
208
209
request , response , plan
@@ -212,6 +213,7 @@ def callback(
212
213
Cls2 : Cls2 (),
213
214
ClsReqResponse : ClsReqResponse (),
214
215
}
216
+ assert injector .weak_cache .get (request ).keys () == {ClsReqResponse , Cls1 , Cls2 }
215
217
216
218
@inlineCallbacks
217
219
def test_build_instances_from_providers_unexpected_return (self ):
@@ -230,6 +232,7 @@ def callback(response: DummyResponse, a: Cls1):
230
232
yield from injector .build_instances_from_providers (
231
233
response .request , response , plan
232
234
)
235
+ assert injector .weak_cache .get (response .request ) is None
233
236
234
237
assert "Provider" in str (exinf .value )
235
238
assert "Cls2" in str (exinf .value )
@@ -256,6 +259,7 @@ def callback(response: DummyResponse, arg: str):
256
259
instances = yield from injector .build_instances_from_providers (
257
260
response .request , response , plan
258
261
)
262
+ assert injector .weak_cache .get (response .request ).keys () == {str }
259
263
260
264
assert instances [str ] == min (str_list )
261
265
@@ -628,6 +632,7 @@ def callback_factory():
628
632
if name .startswith (prefix )
629
633
}
630
634
assert set (poet_stats ) == expected
635
+ assert injector .weak_cache .get (response .request ) is None
631
636
632
637
@inlineCallbacks
633
638
def test_po_provided_via_item (self ):
@@ -642,6 +647,7 @@ def callback(response: DummyResponse, item: TestItem):
642
647
_ = yield from injector .build_callback_dependencies (response .request , response )
643
648
key = "poet/injector/tests.test_injection.TestItemPage"
644
649
assert key in set (injector .crawler .stats .get_stats ())
650
+ assert injector .weak_cache .get (response .request ) is None
645
651
646
652
647
653
class TestInjectorOverrides :
@@ -787,6 +793,7 @@ def callback(response: DummyResponse, arg_price: Price, arg_name: Name):
787
793
response .request , response , plan
788
794
)
789
795
assert cache .exists ()
796
+ assert injector .weak_cache .get (response .request ).keys () == {Price , Name }
790
797
791
798
validate_instances (instances )
792
799
@@ -799,6 +806,7 @@ def callback(response: DummyResponse, arg_price: Price, arg_name: Name):
799
806
instances = yield from injector .build_instances_from_providers (
800
807
response .request , response , plan
801
808
)
809
+ assert injector .weak_cache .get (response .request ) is None
802
810
803
811
# Different providers. They return a different result, but the cache data should prevail.
804
812
providers = {
@@ -812,6 +820,7 @@ def callback(response: DummyResponse, arg_price: Price, arg_name: Name):
812
820
instances = yield from injector .build_instances_from_providers (
813
821
response .request , response , plan
814
822
)
823
+ assert injector .weak_cache .get (response .request ).keys () == {Price , Name }
815
824
816
825
validate_instances (instances )
817
826
@@ -823,3 +832,4 @@ def callback(response: DummyResponse, arg_price: Price, arg_name: Name):
823
832
instances = yield from injector .build_instances_from_providers (
824
833
response .request , response , plan
825
834
)
835
+ assert injector .weak_cache .get (response .request ) is None
0 commit comments