From 92cde300781e7556902a14ac1ba61fd392773104 Mon Sep 17 00:00:00 2001 From: Amar Singh Date: Fri, 29 Jan 2021 07:40:46 -0800 Subject: [PATCH] Test is_inherent_required (#8002) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * () * master.into() * Update frame/support/src/inherent.rs Co-authored-by: Bastian Köcher * address comment Co-authored-by: Bastian Köcher --- substrate/frame/support/src/inherent.rs | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/substrate/frame/support/src/inherent.rs b/substrate/frame/support/src/inherent.rs index 430075d603..3c201dff29 100644 --- a/substrate/frame/support/src/inherent.rs +++ b/substrate/frame/support/src/inherent.rs @@ -218,6 +218,10 @@ mod tests { fn create_inherent(_: &InherentData) -> Option { Some(CallTest2::Something) } + + fn is_inherent_required(_: &InherentData) -> Result, Self::Error> { + Ok(Some(().into())) + } } type Block = testing::Block; @@ -260,14 +264,30 @@ mod tests { fn check_inherents_works() { let block = Block::new( Header::new_from_number(1), - vec![Extrinsic { function: Call::Test(CallTest::Something) }], + vec![ + Extrinsic { function: Call::Test2(CallTest2::Something) }, + Extrinsic { function: Call::Test(CallTest::Something) }, + ], ); assert!(InherentData::new().check_extrinsics(&block).ok()); let block = Block::new( Header::new_from_number(1), - vec![Extrinsic { function: Call::Test(CallTest::SomethingElse) }], + vec![ + Extrinsic { function: Call::Test2(CallTest2::Something) }, + Extrinsic { function: Call::Test(CallTest::SomethingElse) }, + ], + ); + + assert!(InherentData::new().check_extrinsics(&block).fatal_error()); + } + + #[test] + fn required_inherents_enforced() { + let block = Block::new( + Header::new_from_number(1), + vec![Extrinsic { function: Call::Test(CallTest::Something) }], ); assert!(InherentData::new().check_extrinsics(&block).fatal_error());