Skip to content

Commit

Permalink
fix some bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
h3lio5 committed Dec 13, 2023
1 parent 9a13e4d commit 8830785
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ defmodule SszTypes.BeaconBlocksByRootRequest do
defstruct fields

@type t :: %__MODULE__{
body: list(SszTypes.SignedBeaconBlock.t())
body: list(SszTypes.root())
}
end
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ defmodule SszTypes.BeaconBlocksByRootResponse do
defstruct fields

@type t :: %__MODULE__{
body: list(SszTypes.root())
body: list(SszTypes.SignedBeaconBlock.t())
}
end
13 changes: 8 additions & 5 deletions test/unit/p2p_blocks_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,31 @@ defmodule Unit.P2PBlocks do
alias LambdaEthereumConsensus.Libp2pPort
alias LambdaEthereumConsensus.P2P.IncomingRequests.Handler
alias SszTypes.BeaconBlocksByRootRequest
alias LambdaEthereumConsensus.Store.Db

setup do
expose(Handler, :all)
start_supervised!(Db)
:ok
end

test "one block retrieve" do
#
signed_block_input = Fixtures.Block.signed_beacon_block()
block_root = Ssz.hash_tree_root!(signed_block.message)
block_root = Ssz.hash_tree_root!(signed_block_input.message)

# store the block in the BlockStore
BlockStore.store_block(signed_block_input)

# ssz serialize and snappy compress the block root
with {:ok, ssz_serialized} <- Ssz.to_ssz(%BeaconBlocksByRootRequest{body: [block_root]}),
with {:ok, ssz_serialized} <- Ssz.to_ssz(BeaconBlocksByRootRequest{body: [block_root]}),
{:ok, snappy_compressed_message} <- Snappy.compress(ssz_serialized) do
# patch the Libp2pPort's send_request function to call the incoming_requests handler function we want to test
patch(Libp2pPort, :send_request, fn _peer_id, _protocol, _message ->
Handler.handle_req("beacon_blocks_by_root/2/ssz_snappy", 1, snappy_compressed_message)
patch(Libp2pPort, :send_request, fn _peer_id, _protocol, message ->
Handler.handle("beacon_blocks_by_root/2/ssz_snappy", 1, message)
end)

patch(Libp2pPort, :send_response, fn _request_id, message -> {:ok, message} end)
patch(Libp2pPort, :send_response, fn _request_id, message -> :ok end)

# call the block_downloader's request_blocks_by_root function
with {:ok, signed_beacon_blocks} <- BlockDownloader.request_blocks_by_root([block_root]) do
Expand Down

0 comments on commit 8830785

Please sign in to comment.