use bee_message::prelude::*;
use crypto::keys::slip10::Seed;
use std::str::FromStr;
const DEFAULT_NODE_URL: &str = "https://api.lb-0.h.chrysalis-devnet.iota.cafe";
async fn setup_indexation_message() -> MessageId {
let client = iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap();
client
.message()
.with_index("iota.rs")
.with_data("iota.rs".as_bytes().to_vec())
.finish()
.await
.unwrap()
.id()
.0
}
const DEFAULT_NODE_POOL_URLS: &str = "https://giftiota.com/nodes.json";
#[tokio::test]
#[ignore]
async fn test_with_node_pool_urls() {
let r = iota_client::Client::builder()
.with_node_pool_urls(&[DEFAULT_NODE_POOL_URLS.into()])
.await
.unwrap()
.finish()
.await;
println!("{r:#?}");
}
#[tokio::test]
#[ignore]
async fn test_get_info() {
let r = iota_client::Client::get_node_info(DEFAULT_NODE_URL, None, None)
.await
.unwrap();
println!("{r:#?}");
}
#[tokio::test]
#[ignore]
async fn test_get_health() {
let r = iota_client::Client::get_node_health(DEFAULT_NODE_URL).await.unwrap();
println!("{r:#?}");
}
#[tokio::test]
#[ignore]
async fn test_get_tips() {
let r = iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap()
.get_tips()
.await
.unwrap();
println!("{r:#?}");
}
#[tokio::test]
#[ignore]
async fn test_post_message_with_indexation() {
let client = iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap();
let r = client
.message()
.with_index(b"Hello")
.with_data("Tangle".as_bytes().to_vec())
.finish()
.await
.unwrap();
println!("{}", r.id().0);
}
#[tokio::test]
#[ignore]
async fn test_post_message_with_transaction() {
let iota = iota_client::Client::builder() .with_node(DEFAULT_NODE_URL) .unwrap()
.finish()
.await
.unwrap();
let seed =
Seed::from_bytes(&hex::decode("256a818b2aac458941f7274985a410e57fb750f3a3a67969ece5bd9ae7eef5b2").unwrap());
let message_id = iota
.message()
.with_seed(&seed)
.with_output_hex(
"5eec99d6ee4ba21aa536c3364bbf2b587cb98a7f2565b75d948b10083e2143f8", 1_000_000,
)
.unwrap()
.finish()
.await
.unwrap();
println!("Message ID: {message_id:?}");
}
#[tokio::test]
#[ignore]
async fn test_get_message_by_index() {
setup_indexation_message().await;
let r = iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap()
.get_message()
.index("iota.rs")
.await
.unwrap();
println!("{r:#?}");
}
#[tokio::test]
#[ignore]
async fn test_get_message_data() {
let client = iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap();
let message_id = setup_indexation_message().await;
let r = client.get_message().data(&message_id).await.unwrap();
println!("{r:#?}");
}
#[tokio::test]
#[ignore]
async fn test_get_message_metadata() {
let message_id = setup_indexation_message().await;
let r = iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap()
.get_message()
.metadata(&message_id)
.await
.unwrap();
println!("{r:#?}");
}
#[tokio::test]
#[ignore]
async fn test_get_message_raw() {
let message_id = setup_indexation_message().await;
iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap()
.get_message()
.raw(&message_id)
.await
.unwrap();
}
#[tokio::test]
#[ignore]
async fn test_get_message_children() {
let message_id = setup_indexation_message().await;
iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap()
.get_message()
.children(&message_id)
.await
.unwrap();
}
#[tokio::test]
#[ignore]
async fn test_get_address_balance() {
let r = iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap()
.get_address()
.balance("atoi1qzt0nhsf38nh6rs4p6zs5knqp6psgha9wsv74uajqgjmwc75ugupx3y7x0r")
.await
.unwrap();
println!("{r:#?}");
}
#[tokio::test]
#[ignore]
async fn test_get_address_outputs() {
let r = iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap()
.get_address()
.outputs(
"atoi1qzt0nhsf38nh6rs4p6zs5knqp6psgha9wsv74uajqgjmwc75ugupx3y7x0r",
Default::default(),
)
.await
.unwrap();
println!("{r:#?}");
}
#[tokio::test]
#[ignore]
async fn test_get_output() {
let r = iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap()
.get_output(
&UtxoInput::new(
TransactionId::from_str("3e18e19045d0b44dd2be3c466d6fe419c09342bacdb587f2985f2e607a92e38e").unwrap(),
0,
)
.unwrap(),
)
.await
.unwrap();
println!("{r:#?}");
}
#[tokio::test]
#[ignore]
async fn test_get_peers() {
let r = iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap()
.get_peers()
.await
.unwrap();
println!("{r:#?}");
}
#[tokio::test]
#[ignore]
async fn test_get_milestone() {
let client = iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap();
let nodeinfo = client.get_info().await.unwrap();
let r = client
.get_milestone(nodeinfo.nodeinfo.latest_milestone_index)
.await
.unwrap();
println!("{r:#?}");
}
#[tokio::test]
#[ignore]
async fn test_get_milestone_utxo_changes() {
let r = iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap()
.get_milestone_utxo_changes(3)
.await
.unwrap();
println!("{r:#?}");
}
#[tokio::test]
#[ignore]
async fn test_get_receipts() {
let r = iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap()
.get_receipts()
.await
.unwrap();
println!("{r:#?}");
}
#[tokio::test]
#[ignore]
async fn get_receipts_migrated_at() {
let r = iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap()
.get_receipts_migrated_at(3)
.await
.unwrap();
println!("{r:#?}");
}
#[tokio::test]
#[ignore]
async fn test_get_treasury() {
let r = iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap()
.get_treasury()
.await
.unwrap();
println!("{r:#?}");
}
#[tokio::test]
#[ignore]
async fn test_get_included_message() {
let r = iota_client::Client::builder()
.with_node(DEFAULT_NODE_URL)
.unwrap()
.finish()
.await
.unwrap()
.get_included_message(
&TransactionId::from_str("3e18e19045d0b44dd2be3c466d6fe419c09342bacdb587f2985f2e607a92e38e").unwrap(),
)
.await
.unwrap();
println!("{r:#?}");
}