mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 12:51:02 +00:00
Fixes tests
This commit is contained in:
Generated
+4
@@ -553,13 +553,16 @@ version = "0.1.0"
|
||||
dependencies = [
|
||||
"cumulus-consensus 0.1.0",
|
||||
"cumulus-runtime 0.1.0",
|
||||
"cumulus-test-client 0.1.0",
|
||||
"cumulus-test-runtime 0.1.0",
|
||||
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"futures-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"parity-scale-codec 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"polkadot-collator 0.6.0 (git+https://github.com/paritytech/polkadot?branch=bkchr-cumulus-branch)",
|
||||
"polkadot-executor 0.6.0 (git+https://github.com/paritytech/polkadot?branch=bkchr-cumulus-branch)",
|
||||
"polkadot-primitives 0.6.0 (git+https://github.com/paritytech/polkadot?branch=bkchr-cumulus-branch)",
|
||||
"sr-primitives 2.0.0 (git+https://github.com/paritytech/substrate?branch=bkchr-cumulus-branch)",
|
||||
"substrate-cli 2.0.0 (git+https://github.com/paritytech/substrate?branch=bkchr-cumulus-branch)",
|
||||
@@ -569,6 +572,7 @@ dependencies = [
|
||||
"substrate-keyring 2.0.0 (git+https://github.com/paritytech/substrate?branch=bkchr-cumulus-branch)",
|
||||
"substrate-primitives 2.0.0 (git+https://github.com/paritytech/substrate?branch=bkchr-cumulus-branch)",
|
||||
"substrate-service 2.0.0 (git+https://github.com/paritytech/substrate?branch=bkchr-cumulus-branch)",
|
||||
"substrate-test-client 2.0.0 (git+https://github.com/paritytech/substrate?branch=bkchr-cumulus-branch)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
||||
@@ -31,4 +31,8 @@ parking_lot = "0.9"
|
||||
|
||||
[dev-dependencies]
|
||||
test-runtime = { package = "cumulus-test-runtime", path = "../test/runtime" }
|
||||
test-client = { package = "cumulus-test-client", path = "../test/client" }
|
||||
substrate-test-client = { git = "https://github.com/paritytech/substrate", branch = "bkchr-cumulus-branch" }
|
||||
polkadot-executor = { git = "https://github.com/paritytech/polkadot", branch = "bkchr-cumulus-branch" }
|
||||
keyring = { package = "substrate-keyring", git = "https://github.com/paritytech/substrate", branch = "bkchr-cumulus-branch" }
|
||||
env_logger = "0.7.1"
|
||||
|
||||
@@ -319,10 +319,13 @@ mod tests {
|
||||
use polkadot_primitives::parachain::{ConsolidatedIngress, HeadData, FeeSchedule};
|
||||
|
||||
use keyring::Sr25519Keyring;
|
||||
use sr_primitives::traits::{DigestFor, Header as HeaderT};
|
||||
use sr_primitives::{generic::BlockId, traits::{DigestFor, Header as HeaderT}};
|
||||
use inherents::InherentData;
|
||||
use substrate_client::error::Result as ClientResult;
|
||||
use substrate_test_client::{NativeExecutor, WasmExecutionMethod::Interpreted};
|
||||
|
||||
use test_runtime::{Block, Header};
|
||||
use test_client::{Client, DefaultTestClientBuilderExt, TestClientBuilder, TestClientBuilderExt};
|
||||
|
||||
use futures03::future;
|
||||
use futures::Stream;
|
||||
@@ -368,7 +371,7 @@ mod tests {
|
||||
digest,
|
||||
);
|
||||
|
||||
future::ready(Ok((Block::new(header, Vec::new()), None)))
|
||||
future::ready(Ok((Block::new(header, Vec::new()), Some(Default::default()))))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -398,11 +401,72 @@ mod tests {
|
||||
Ok(ConsolidatedIngress(Vec::new()))
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
||||
#[derive(Clone)]
|
||||
struct DummyPolkadotClient;
|
||||
|
||||
impl cumulus_consensus::PolkadotClient for DummyPolkadotClient {
|
||||
type Error = Error;
|
||||
type Finalized = Box<dyn futures03::Stream<Item=Vec<u8>> + Send + Unpin>;
|
||||
|
||||
fn finalized_heads(&self, _: ParaId) -> ClientResult<Self::Finalized> {
|
||||
unimplemented!("Not required in tests")
|
||||
}
|
||||
|
||||
fn parachain_head_at(
|
||||
&self,
|
||||
_: &BlockId<PBlock>,
|
||||
_: ParaId,
|
||||
) -> ClientResult<Option<Vec<u8>>>{
|
||||
unimplemented!("Not required in tests")
|
||||
}
|
||||
}
|
||||
|
||||
struct DummySetup;
|
||||
|
||||
impl SetupParachain<Block> for DummySetup {
|
||||
type ProposerFactory = DummyFactory;
|
||||
type BlockImport = Client;
|
||||
|
||||
fn setup_parachain<P: cumulus_consensus::PolkadotClient>(
|
||||
self,
|
||||
_: P,
|
||||
_: TaskExecutor,
|
||||
) -> Result<(Self::ProposerFactory, Self::BlockImport, InherentDataProviders), String> {
|
||||
Ok((DummyFactory, TestClientBuilder::new().build(), InherentDataProviders::default()))
|
||||
}
|
||||
}
|
||||
|
||||
type BoxFuture = Box<dyn Future<Item = (), Error = ()> + Send>;
|
||||
|
||||
struct DummyFutureExecutor;
|
||||
|
||||
impl futures::future::Executor<BoxFuture>
|
||||
for DummyFutureExecutor
|
||||
{
|
||||
fn execute(
|
||||
&self,
|
||||
_: BoxFuture,
|
||||
) -> Result<(), futures::future::ExecuteError<BoxFuture>> {
|
||||
unimplemented!("Not required in tests")
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn collates_produces_a_block() {
|
||||
let builder = CollatorBuilder::new(DummyFactory);
|
||||
let context = builder.build(Arc::new(DummyCollatorNetwork)).expect("Creates parachain context");
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let builder = CollatorBuilder::new(DummySetup);
|
||||
let context = builder.build(
|
||||
Arc::new(
|
||||
substrate_test_client::TestClientBuilder::<_, _, ()>::default()
|
||||
.build_with_native_executor(
|
||||
Some(NativeExecutor::<polkadot_executor::Executor>::new(Interpreted, None)),
|
||||
).0
|
||||
),
|
||||
Arc::new(DummyFutureExecutor),
|
||||
Arc::new(DummyCollatorNetwork),
|
||||
).expect("Creates parachain context");
|
||||
|
||||
let id = ParaId::from(100);
|
||||
let header = Header::new(
|
||||
@@ -435,5 +499,4 @@ mod tests {
|
||||
|
||||
assert_eq!(1337, *block.header().number());
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
@@ -25,11 +25,14 @@ use test_client::{
|
||||
runtime::{Block, Transfer, Hash, WASM_BINARY, Header}
|
||||
};
|
||||
use consensus_common::SelectChain;
|
||||
use parachain::ValidationParams;
|
||||
use parachain::{ValidationParams, ValidationResult};
|
||||
|
||||
use codec::Encode;
|
||||
use codec::{Encode, Decode};
|
||||
|
||||
fn call_validate_block(parent_head: Header, block_data: ParachainBlockData<Block>) -> Result<()> {
|
||||
fn call_validate_block(
|
||||
parent_head: Header,
|
||||
block_data: ParachainBlockData<Block>,
|
||||
) -> Result<Header> {
|
||||
let mut ext = TestExternalities::default();
|
||||
let mut ext_ext = ext.ext();
|
||||
let params = ValidationParams {
|
||||
@@ -45,7 +48,9 @@ fn call_validate_block(parent_head: Header, block_data: ParachainBlockData<Block
|
||||
&mut ext_ext,
|
||||
&WASM_BINARY,
|
||||
1024,
|
||||
).map(|v| assert!(v.is_empty(), "`validate_block` does not return anything"))
|
||||
)
|
||||
.map(|v| ValidationResult::decode(&mut &v[..]).expect("Decode `ValidationResult`."))
|
||||
.map(|v| Header::decode(&mut &v.head_data[..]).expect("Decode `Header`."))
|
||||
}
|
||||
|
||||
fn create_extrinsics() -> Vec<<Block as BlockT>::Extrinsic> {
|
||||
@@ -110,12 +115,14 @@ fn validate_block_with_no_extrinsics() {
|
||||
let (header, extrinsics) = block.deconstruct();
|
||||
|
||||
let block_data = ParachainBlockData::new(
|
||||
header,
|
||||
header.clone(),
|
||||
extrinsics,
|
||||
witness_data,
|
||||
witness_data_storage_root
|
||||
);
|
||||
call_validate_block(parent_head, block_data).expect("Calls `validate_block`");
|
||||
|
||||
let res_header = call_validate_block(parent_head, block_data).expect("Calls `validate_block`");
|
||||
assert_eq!(header, res_header);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -127,12 +134,14 @@ fn validate_block_with_extrinsics() {
|
||||
let (header, extrinsics) = block.deconstruct();
|
||||
|
||||
let block_data = ParachainBlockData::new(
|
||||
header,
|
||||
header.clone(),
|
||||
extrinsics,
|
||||
witness_data,
|
||||
witness_data_storage_root
|
||||
);
|
||||
call_validate_block(parent_head, block_data).expect("Calls `validate_block`");
|
||||
|
||||
let res_header = call_validate_block(parent_head, block_data).expect("Calls `validate_block`");
|
||||
assert_eq!(header, res_header);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in New Issue
Block a user