Skip to content

Commit e52d693

Browse files
committed
use request mocker + no need to format logsBloom in eth-tester middleware
- Use request_mocker where we can - result_processors take care of the formatting... this was causing the ``None`` value for logsBloom to raise when mocked
1 parent 66ceac5 commit e52d693

File tree

2 files changed

+10
-17
lines changed

2 files changed

+10
-17
lines changed

tests/core/eth-module/test_block_api.py

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
import pytest
2-
from unittest.mock import (
3-
Mock,
4-
)
52

63
from eth_utils import (
74
to_checksum_address,
@@ -22,7 +19,7 @@ def test_uses_default_block(w3, extra_accounts, wait_for_transaction):
2219
assert w3.eth.default_block == w3.eth.block_number
2320

2421

25-
def test_get_block_formatters_with_null_values(w3, mocker):
22+
def test_get_block_formatters_with_null_values(w3, request_mocker):
2623
null_values_block = {
2724
"baseFeePerGas": None,
2825
"extraData": None,
@@ -47,13 +44,12 @@ def test_get_block_formatters_with_null_values(w3, mocker):
4744
"withdrawalsRoot": None,
4845
"withdrawals": [],
4946
}
50-
mocker.patch("web3.eth.eth.Eth.get_block", return_value=null_values_block)
51-
52-
received_block = w3.eth.get_block("pending")
47+
with request_mocker(w3, mock_results={"eth_getBlockByNumber": null_values_block}):
48+
received_block = w3.eth.get_block("pending")
5349
assert received_block == null_values_block
5450

5551

56-
def test_get_block_formatters_with_pre_formatted_values(w3):
52+
def test_get_block_formatters_with_pre_formatted_values(w3, request_mocker):
5753
unformatted_values_block = {
5854
"baseFeePerGas": "0x3b9aca00",
5955
"extraData": "0x",
@@ -107,10 +103,10 @@ def test_get_block_formatters_with_pre_formatted_values(w3):
107103
],
108104
}
109105

110-
w3.manager._make_request = Mock()
111-
w3.manager._make_request.return_value = {"result": unformatted_values_block}
112-
113-
received_block = w3.eth.get_block("pending")
106+
with request_mocker(
107+
w3, mock_results={"eth_getBlockByNumber": unformatted_values_block}
108+
):
109+
received_block = w3.eth.get_block("pending")
114110

115111
assert received_block == {
116112
"baseFeePerGas": int(unformatted_values_block["baseFeePerGas"], 16),

web3/providers/eth_tester/middleware.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,6 @@ def is_hexstr(value: Any) -> bool:
189189
block_result_remapper = apply_key_map(BLOCK_RESULT_KEY_MAPPING)
190190

191191
BLOCK_RESULT_FORMATTERS = {
192-
"logsBloom": integer_to_hex,
193192
"withdrawals": apply_list_to_array_formatter(
194193
apply_key_map({"validator_index": "validatorIndex"}),
195194
),
@@ -270,12 +269,10 @@ def is_hexstr(value: Any) -> bool:
270269
}
271270
result_formatters: Optional[Dict[RPCEndpoint, Callable[..., Any]]] = {
272271
RPCEndpoint("eth_getBlockByHash"): apply_formatter_if(
273-
is_dict,
274-
compose(block_result_remapper, block_result_formatter),
272+
is_dict, compose(block_result_remapper, block_result_formatter)
275273
),
276274
RPCEndpoint("eth_getBlockByNumber"): apply_formatter_if(
277-
is_dict,
278-
compose(block_result_remapper, block_result_formatter),
275+
is_dict, compose(block_result_remapper, block_result_formatter)
279276
),
280277
RPCEndpoint("eth_getBlockTransactionCountByHash"): apply_formatter_if(
281278
is_dict,

0 commit comments

Comments
 (0)