mod common;
use common::{generate_mc, NodeBuilder};
use serial_test::serial;
use taple_core::DigestDerivator;
use crate::common::{check_subject, create_governance_request};
#[test]
#[serial]
fn init_node() {
let rt = tokio::runtime::Runtime::new().unwrap();
rt.block_on(async {
std::env::set_var("RUST_LOG", "info");
let mc_data_node1 = generate_mc();
let result = NodeBuilder::new(mc_data_node1.get_private_key()).build();
assert!(result.is_ok());
result.unwrap().shutdown().await;
});
}
#[test]
#[serial]
fn create_governance() {
let rt = tokio::runtime::Runtime::new().unwrap();
rt.block_on(async {
let mc_data_node1 = generate_mc();
let result = NodeBuilder::new(mc_data_node1.get_private_key()).build();
assert!(result.is_ok());
let mut node = result.unwrap();
let node_api = node.get_api();
let public_key = node_api
.add_keys(taple_core::KeyDerivator::Ed25519)
.await
.expect("MC creation failed");
let event_request = create_governance_request("", public_key, "");
assert!(node_api
.external_request(mc_data_node1.sign_event_request(&event_request, DigestDerivator::Blake3_512))
.await
.is_ok());
let result = node.wait_for_new_subject().await;
assert!(result.is_ok());
let subject_id = result.unwrap();
check_subject(&node_api, &subject_id, Some(0)).await;
node.shutdown().await
});
}