Skip to content

Commit 7a66a94

Browse files
added 200k block and votes test
fixup: clean tests
1 parent 855b362 commit 7a66a94

File tree

1 file changed

+25
-18
lines changed

1 file changed

+25
-18
lines changed

deku-p/src/core/block_storage/tests/block_storage_tests.ml

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -149,29 +149,35 @@ let test_200k_block_load env () =
149149
Eio.Switch.fail sw Test_finished
150150
with _ -> ()
151151

152-
let test_200k_block_load env () =
152+
let test_200k_block_and_votes env () =
153153
Eio.Switch.run @@ fun sw ->
154154
let block_storage = make_block_storage env sw in
155155
let (Block { hash; level; _ } as block) = block ~default_block_size:200_000 in
156-
Block_storage.save_block ~block block_storage;
157-
let retrieved_block =
158-
match Block_storage.find_block_by_hash ~block_hash:hash block_storage with
159-
| Some json -> Block.t_of_yojson json
160-
| None -> Genesis.block
156+
let vote = make_vote ~hash identity in
157+
let votes = Verified_signature.Set.add vote Verified_signature.Set.empty in
158+
let votes = Verified_signature.Set.elements votes in
159+
let content = Deku_gossip.Message.Content.accepted ~block ~votes in
160+
let (Deku_gossip.Message.Message { header = _; content = _; network }) =
161+
Deku_gossip.Message.encode ~content
161162
in
162-
Alcotest.(check' block_testable)
163-
~msg:"hash loaded block is equal to saved block" ~expected:block
164-
~actual:retrieved_block;
165-
166-
let retrieved_block =
167-
match Block_storage.find_block_by_level ~level block_storage with
168-
| Some json -> Block.t_of_yojson json
169-
| None -> Genesis.block
163+
Block_storage.save_block_and_votes ~level ~network block_storage;
164+
165+
let retrieved_block_and_votes =
166+
let default_return = (Genesis.block, []) in
167+
match Block_storage.find_block_and_votes_by_level ~level block_storage with
168+
| Some (Message.Network.Network_message { raw_header; raw_content }) -> (
169+
let expected = Message.Header.decode ~raw_header in
170+
let (Message.Message { content; _ }) =
171+
Message.decode ~expected ~raw_content
172+
in
173+
match content with
174+
| Content_accepted { block; votes } -> (block, votes)
175+
| _ -> default_return)
176+
| None -> default_return
170177
in
171-
172-
Alcotest.(check' block_testable)
173-
~msg:"level loaded block is equal to saved block" ~expected:block
174-
~actual:retrieved_block;
178+
Alcotest.(check' (pair block_testable (list vote_testable)))
179+
~msg:"retrieved empty block and one vote equal saved"
180+
~expected:(block, votes) ~actual:retrieved_block_and_votes;
175181

176182
(* TODO: Fail the switch and capture the exception instead *)
177183
let (Block_storage.Storage { worker; _ }) = block_storage in
@@ -194,6 +200,7 @@ let run () =
194200
(test_empty_block_and_votes env);
195201
test_case "200k_block is returned" `Slow
196202
(test_200k_block_load env);
203+
test_case "200k_block_and_votes is returned" `Slow (test_200k_block_and_votes env)
197204
] );
198205
])
199206

0 commit comments

Comments
 (0)