Introduce mockable ChainSync object for testing (#12480)

* Introduce mockable `ChainSync` object for testing

`mockall` allows to mock `ChainSync` and to verify that the calls made
to `ChaiSync` are firstly executed at all, that they're executed in
correct order and with correct parameters.

This allows to verify, e.g., that delegating calls directly to
`ChainSync` from `NetworkService` still calls the correct functions with
correct arguments even if `Protocol` middleman is removed.

* Add Cargo.lock

* Fix tests

* Update client/network/Cargo.toml

Co-authored-by: Bastian Köcher <git@kchr.de>

* Update Cargo.lock

* Fix clippy and documentation

Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: parity-processbot <>
This commit is contained in:
Aaro Altonen
2022-10-13 12:37:09 +03:00
committed by GitHub
parent b0b2b6799c
commit 09164dbced
8 changed files with 546 additions and 23 deletions
+2
View File
@@ -92,6 +92,8 @@ use std::{
pub use behaviour::{InboundFailure, OutboundFailure, ResponseFailure};
#[cfg(test)]
mod chainsync_tests;
mod metrics;
mod out_events;
#[cfg(test)]