Skip to content

Commit

Permalink
client/beefy: fix incorrect BEEFY justifications import test (parityt…
Browse files Browse the repository at this point in the history
…ech#12593)

Signed-off-by: Adrian Catangiu <adrian@parity.io>
  • Loading branch information
acatangiu authored Oct 31, 2022
1 parent 07a6332 commit 0d64ba4
Showing 1 changed file with 27 additions and 8 deletions.
35 changes: 27 additions & 8 deletions client/beefy/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -755,10 +755,16 @@ fn beefy_importing_blocks() {
block_on(block_import.import_block(params(block, None), HashMap::new())).unwrap(),
ImportResult::AlreadyInChain
);
// Verify no justifications present:
// Verify no BEEFY justifications present:
{
// none in backend,
assert!(full_client.justifications(&block_id).unwrap().is_none());
assert_eq!(
full_client
.justifications(&block_id)
.unwrap()
.and_then(|j| j.get(BEEFY_ENGINE_ID).cloned()),
None
);
// and none sent to BEEFY worker.
block_on(poll_fn(move |cx| {
assert_eq!(justif_recv.poll_next_unpin(cx), Poll::Pending);
Expand Down Expand Up @@ -787,11 +793,18 @@ fn beefy_importing_blocks() {
..Default::default()
}),
);
// Verify justification successfully imported:
// Verify BEEFY justification successfully imported:
{
// available in backend,
assert!(full_client.justifications(&BlockId::Number(block_num)).unwrap().is_some());
// and also sent to BEEFY worker.
// still not in backend (worker is responsible for appending to backend),
assert_eq!(
full_client
.justifications(&block_id)
.unwrap()
.and_then(|j| j.get(BEEFY_ENGINE_ID).cloned()),
None
);
// but sent to BEEFY worker
// (worker will append it to backend when all previous mandatory justifs are there as well).
block_on(poll_fn(move |cx| {
match justif_recv.poll_next_unpin(cx) {
Poll::Ready(Some(_justification)) => (),
Expand Down Expand Up @@ -823,10 +836,16 @@ fn beefy_importing_blocks() {
..Default::default()
}),
);
// Verify bad justifications was not imported:
// Verify bad BEEFY justifications was not imported:
{
// none in backend,
assert!(full_client.justifications(&block_id).unwrap().is_none());
assert_eq!(
full_client
.justifications(&BlockId::Number(block_num))
.unwrap()
.and_then(|j| j.get(BEEFY_ENGINE_ID).cloned()),
None
);
// and none sent to BEEFY worker.
block_on(poll_fn(move |cx| {
assert_eq!(justif_recv.poll_next_unpin(cx), Poll::Pending);
Expand Down

0 comments on commit 0d64ba4

Please sign in to comment.