Implements mocking of runtime apis (#5448)
* Implements mocking of runtime apis This pr adds support for easily mock runtime api implementations for tests by using the `mock_impl_runtime_apis!` macro. The syntax is similar to `impl_runtime_apis!`. The mocked implementation automatically implements `ApiExt`, `ApiErrorExt` and `Core` as these are required by the runtime api traits, but not required in tests or only a subset of them. * Fix warnings * Update primitives/api/proc-macro/src/utils.rs Co-Authored-By:Nikolay Volf <nikvolf@gmail.com> * Review feedback Co-authored-by:
Nikolay Volf <nikvolf@gmail.com>
Showing
- substrate/client/authority-discovery/src/tests.rs 9 additions, 87 deletionssubstrate/client/authority-discovery/src/tests.rs
- substrate/client/finality-grandpa/src/tests.rs 9 additions, 87 deletionssubstrate/client/finality-grandpa/src/tests.rs
- substrate/primitives/api/proc-macro/src/decl_runtime_apis.rs 11 additions, 5 deletionssubstrate/primitives/api/proc-macro/src/decl_runtime_apis.rs
- substrate/primitives/api/proc-macro/src/impl_runtime_apis.rs 25 additions, 55 deletionssubstrate/primitives/api/proc-macro/src/impl_runtime_apis.rs
- substrate/primitives/api/proc-macro/src/lib.rs 6 additions, 0 deletionssubstrate/primitives/api/proc-macro/src/lib.rs
- substrate/primitives/api/proc-macro/src/mock_impl_runtime_apis.rs 378 additions, 0 deletions...e/primitives/api/proc-macro/src/mock_impl_runtime_apis.rs
- substrate/primitives/api/proc-macro/src/utils.rs 81 additions, 9 deletionssubstrate/primitives/api/proc-macro/src/utils.rs
- substrate/primitives/api/src/lib.rs 73 additions, 14 deletionssubstrate/primitives/api/src/lib.rs
- substrate/primitives/api/test/tests/decl_and_impl.rs 51 additions, 1 deletionsubstrate/primitives/api/test/tests/decl_and_impl.rs
- substrate/primitives/api/test/tests/ui/mock_only_error_associated_type.rs 19 additions, 0 deletions...ives/api/test/tests/ui/mock_only_error_associated_type.rs
- substrate/primitives/api/test/tests/ui/mock_only_error_associated_type.stderr 5 additions, 0 deletions.../api/test/tests/ui/mock_only_error_associated_type.stderr
- substrate/primitives/api/test/tests/ui/mock_only_one_block_type.rs 27 additions, 0 deletions.../primitives/api/test/tests/ui/mock_only_one_block_type.rs
- substrate/primitives/api/test/tests/ui/mock_only_one_block_type.stderr 19 additions, 0 deletions...mitives/api/test/tests/ui/mock_only_one_block_type.stderr
- substrate/primitives/api/test/tests/ui/mock_only_one_error_type.rs 29 additions, 0 deletions.../primitives/api/test/tests/ui/mock_only_one_error_type.rs
- substrate/primitives/api/test/tests/ui/mock_only_one_error_type.stderr 27 additions, 0 deletions...mitives/api/test/tests/ui/mock_only_one_error_type.stderr
- substrate/primitives/api/test/tests/ui/mock_only_one_self_type.rs 26 additions, 0 deletions...e/primitives/api/test/tests/ui/mock_only_one_self_type.rs
- substrate/primitives/api/test/tests/ui/mock_only_one_self_type.stderr 19 additions, 0 deletions...imitives/api/test/tests/ui/mock_only_one_self_type.stderr
- substrate/primitives/api/test/tests/ui/mock_only_self_reference.rs 20 additions, 0 deletions.../primitives/api/test/tests/ui/mock_only_self_reference.rs
- substrate/primitives/api/test/tests/ui/mock_only_self_reference.stderr 65 additions, 0 deletions...mitives/api/test/tests/ui/mock_only_self_reference.stderr
Please register or sign in to comment