eth/catalyst: request too large error (#26722)
The method `GetPayloadBodiesByRangeV1` now returns "-38004: Too large request" error if the requested range is too large, according to spec Co-authored-by: Martin Holst Swende <martin@swende.se>
This commit is contained in:
co-authored by
Martin Holst Swende
parent
6428663faf
commit
15e5e6176b
@@ -1383,37 +1383,43 @@ func TestGetBlockBodiesByRangeInvalidParams(t *testing.T) {
|
||||
node, eth, _ := setupBodies(t)
|
||||
api := NewConsensusAPI(eth)
|
||||
defer node.Close()
|
||||
|
||||
tests := []struct {
|
||||
start hexutil.Uint64
|
||||
count hexutil.Uint64
|
||||
want *engine.EngineAPIError
|
||||
}{
|
||||
// Genesis
|
||||
{
|
||||
start: 0,
|
||||
count: 1,
|
||||
want: engine.InvalidParams,
|
||||
},
|
||||
// No block requested
|
||||
{
|
||||
start: 1,
|
||||
count: 0,
|
||||
want: engine.InvalidParams,
|
||||
},
|
||||
// Genesis & no block
|
||||
{
|
||||
start: 0,
|
||||
count: 0,
|
||||
want: engine.InvalidParams,
|
||||
},
|
||||
// More than 1024 blocks
|
||||
{
|
||||
start: 1,
|
||||
count: 1025,
|
||||
want: engine.TooLargeRequest,
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
result, err := api.GetPayloadBodiesByRangeV1(test.start, test.count)
|
||||
for i, tc := range tests {
|
||||
result, err := api.GetPayloadBodiesByRangeV1(tc.start, tc.count)
|
||||
if err == nil {
|
||||
t.Fatalf("expected error, got %v", result)
|
||||
t.Fatalf("test %d: expected error, got %v", i, result)
|
||||
}
|
||||
if have, want := err.Error(), tc.want.Error(); have != want {
|
||||
t.Fatalf("test %d: have %s, want %s", i, have, want)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user