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()); // Wait for the subject creation notification let result = node.wait_for_new_subject().await; assert!(result.is_ok()); let subject_id = result.unwrap(); // Check the subject asking the api about it check_subject(&node_api, &subject_id, Some(0)).await; node.shutdown().await }); }