Files
pezkuwi-sdk/pezkuwi/node/test/service/tests/build-blocks.rs
T
pezkuwichain 4666047395 chore: add Dijital Kurdistan Tech Institute to copyright headers
Updated 4763 files with dual copyright:
- Parity Technologies (UK) Ltd.
- Dijital Kurdistan Tech Institute
2025-12-27 21:28:36 +03:00

58 lines
1.8 KiB
Rust

// Copyright (C) Parity Technologies (UK) Ltd. and Dijital Kurdistan Tech Institute
// This file is part of Pezkuwi.
// Pezkuwi is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Pezkuwi is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Pezkuwi. If not, see <http://www.gnu.org/licenses/>.
use futures::{future, pin_mut, select, FutureExt};
use pezkuwi_test_service::*;
use pezsp_keyring::Sr25519Keyring;
#[tokio::test(flavor = "multi_thread")]
async fn ensure_test_service_build_blocks() {
let mut builder = pezsc_cli::LoggerBuilder::new("");
builder.with_colors(false);
builder.init().expect("Sets up logger");
let alice_config = node_config(
|| {},
tokio::runtime::Handle::current(),
Sr25519Keyring::Alice,
Vec::new(),
true,
);
let mut alice = run_validator_node(alice_config, None).await;
let bob_config = node_config(
|| {},
tokio::runtime::Handle::current(),
Sr25519Keyring::Bob,
vec![alice.addr.clone()],
true,
);
let mut bob = run_validator_node(bob_config, None).await;
{
let t1 = future::join(alice.wait_for_blocks(3), bob.wait_for_blocks(3)).fuse();
let t2 = alice.task_manager.future().fuse();
let t3 = bob.task_manager.future().fuse();
pin_mut!(t1, t2, t3);
select! {
_ = t1 => {},
_ = t2 => panic!("service Alice failed"),
_ = t3 => panic!("service Bob failed"),
}
}
}