55
66from web3 import Web3
77from web3 ._utils .caching import (
8- SimpleCache ,
98 generate_cache_key ,
109)
1110from web3 .middleware import (
2928from web3 .types import (
3029 RPCEndpoint ,
3130)
31+ from web3 .utils .caching import (
32+ SimpleCache ,
33+ )
3234
3335
3436@pytest .fixture
@@ -52,17 +54,7 @@ def w3(w3_base, result_generator_middleware):
5254 return w3_base
5355
5456
55- def dict_cache_class_return_value_a ():
56- # test dictionary-based cache
57- return {
58- generate_cache_key (f"{ threading .get_ident ()} :{ ('fake_endpoint' , [1 ])} " ): {
59- "result" : "value-a"
60- },
61- }
62-
63-
64- def simple_cache_class_return_value_a ():
65- # test `SimpleCache` class cache
57+ def simple_cache_return_value_a ():
6658 _cache = SimpleCache ()
6759 _cache .cache (
6860 generate_cache_key (f"{ threading .get_ident ()} :{ ('fake_endpoint' , [1 ])} " ),
@@ -71,30 +63,20 @@ def simple_cache_class_return_value_a():
7163 return _cache
7264
7365
74- @pytest .mark .parametrize (
75- "cache_class" ,
76- (
77- dict_cache_class_return_value_a ,
78- simple_cache_class_return_value_a ,
79- ),
80- )
81- def test_simple_cache_middleware_pulls_from_cache (w3 , cache_class ):
82-
66+ def test_simple_cache_middleware_pulls_from_cache (w3 ):
8367 w3 .middleware_onion .add (
8468 construct_simple_cache_middleware (
85- cache_class = cache_class ,
69+ cache = simple_cache_return_value_a () ,
8670 rpc_whitelist = {RPCEndpoint ("fake_endpoint" )},
8771 )
8872 )
8973
9074 assert w3 .manager .request_blocking ("fake_endpoint" , [1 ]) == "value-a"
9175
9276
93- @pytest .mark .parametrize ("cache_class" , (dict , SimpleCache ))
94- def test_simple_cache_middleware_populates_cache (w3 , cache_class ):
77+ def test_simple_cache_middleware_populates_cache (w3 ):
9578 w3 .middleware_onion .add (
9679 construct_simple_cache_middleware (
97- cache_class = cache_class ,
9880 rpc_whitelist = {RPCEndpoint ("fake_endpoint" )},
9981 )
10082 )
@@ -105,8 +87,7 @@ def test_simple_cache_middleware_populates_cache(w3, cache_class):
10587 assert w3 .manager .request_blocking ("fake_endpoint" , [1 ]) != result
10688
10789
108- @pytest .mark .parametrize ("cache_class" , (dict , SimpleCache ))
109- def test_simple_cache_middleware_does_not_cache_none_responses (w3_base , cache_class ):
90+ def test_simple_cache_middleware_does_not_cache_none_responses (w3_base ):
11091 counter = itertools .count ()
11192 w3 = w3_base
11293
@@ -124,7 +105,6 @@ def result_cb(_method, _params):
124105
125106 w3 .middleware_onion .add (
126107 construct_simple_cache_middleware (
127- cache_class = cache_class ,
128108 rpc_whitelist = {RPCEndpoint ("fake_endpoint" )},
129109 )
130110 )
@@ -135,8 +115,7 @@ def result_cb(_method, _params):
135115 assert next (counter ) == 2
136116
137117
138- @pytest .mark .parametrize ("cache_class" , (dict , SimpleCache ))
139- def test_simple_cache_middleware_does_not_cache_error_responses (w3_base , cache_class ):
118+ def test_simple_cache_middleware_does_not_cache_error_responses (w3_base ):
140119 w3 = w3_base
141120 w3 .middleware_onion .add (
142121 construct_error_generator_middleware (
@@ -148,7 +127,6 @@ def test_simple_cache_middleware_does_not_cache_error_responses(w3_base, cache_c
148127
149128 w3 .middleware_onion .add (
150129 construct_simple_cache_middleware (
151- cache_class = cache_class ,
152130 rpc_whitelist = {RPCEndpoint ("fake_endpoint" )},
153131 )
154132 )
@@ -161,14 +139,9 @@ def test_simple_cache_middleware_does_not_cache_error_responses(w3_base, cache_c
161139 assert str (err_a ) != str (err_b )
162140
163141
164- @pytest .mark .parametrize ("cache_class" , (dict , SimpleCache ))
165- def test_simple_cache_middleware_does_not_cache_endpoints_not_in_whitelist (
166- w3 ,
167- cache_class ,
168- ):
142+ def test_simple_cache_middleware_does_not_cache_endpoints_not_in_whitelist (w3 ):
169143 w3 .middleware_onion .add (
170144 construct_simple_cache_middleware (
171- cache_class = cache_class ,
172145 rpc_whitelist = {RPCEndpoint ("fake_endpoint" )},
173146 )
174147 )
@@ -184,7 +157,6 @@ def test_simple_cache_middleware_does_not_cache_endpoints_not_in_whitelist(
184157
185158async def _async_simple_cache_middleware_for_testing (make_request , async_w3 ):
186159 middleware = await async_construct_simple_cache_middleware (
187- cache_class = SimpleCache ,
188160 rpc_whitelist = {RPCEndpoint ("fake_endpoint" )},
189161 )
190162 return await middleware (make_request , async_w3 )
@@ -201,17 +173,10 @@ def async_w3():
201173
202174
203175@pytest .mark .asyncio
204- @pytest .mark .parametrize (
205- "cache_class" ,
206- (
207- dict_cache_class_return_value_a ,
208- simple_cache_class_return_value_a ,
209- ),
210- )
211- async def test_async_simple_cache_middleware_pulls_from_cache (async_w3 , cache_class ):
176+ async def test_async_simple_cache_middleware_pulls_from_cache (async_w3 ):
212177 async def _properly_awaited_middleware (make_request , _async_w3 ):
213178 middleware = await async_construct_simple_cache_middleware (
214- cache_class = cache_class ,
179+ cache = simple_cache_return_value_a () ,
215180 rpc_whitelist = {RPCEndpoint ("fake_endpoint" )},
216181 )
217182 return await middleware (make_request , _async_w3 )
0 commit comments