2020-10-20 01:18:27 +00:00
|
|
|
use monero_harness::Monero;
|
2020-09-28 06:18:50 +00:00
|
|
|
use spectral::prelude::*;
|
|
|
|
use testcontainers::clients::Cli;
|
|
|
|
|
|
|
|
#[tokio::test]
|
|
|
|
async fn wallet_and_accounts() {
|
|
|
|
let tc = Cli::default();
|
2020-11-01 23:02:28 +00:00
|
|
|
let (monero, _monerod_container) = Monero::new_monerod(&tc).unwrap();
|
|
|
|
let (wallet, _wallet_container) = Monero::new_wallet(&tc, "wallet").unwrap();
|
|
|
|
// let cli = monero.miner_wallet_rpc_client();
|
|
|
|
//
|
|
|
|
// println!("creating wallet ...");
|
|
|
|
//
|
|
|
|
// let _ = cli
|
|
|
|
// .create_wallet("wallet")
|
|
|
|
// .await
|
|
|
|
// .expect("failed to create wallet");
|
|
|
|
//
|
|
|
|
// let got = cli.get_balance(0).await.expect("failed to get balance");
|
|
|
|
// let want = 0;
|
|
|
|
//
|
|
|
|
// assert_that!(got).is_equal_to(want);
|
2020-09-28 06:18:50 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#[tokio::test]
|
|
|
|
async fn create_account_and_retrieve_it() {
|
|
|
|
let tc = Cli::default();
|
2020-11-01 23:02:28 +00:00
|
|
|
let (monero, _container) = Monero::new_monerod(&tc).unwrap();
|
|
|
|
// let cli = monero.miner_wallet_rpc_client();
|
|
|
|
//
|
|
|
|
// let label = "Iron Man"; // This is intentionally _not_ Alice or Bob.
|
|
|
|
//
|
|
|
|
// let _ = cli
|
|
|
|
// .create_wallet("wallet")
|
|
|
|
// .await
|
|
|
|
// .expect("failed to create wallet");
|
|
|
|
//
|
|
|
|
// let _ = cli
|
|
|
|
// .create_account(label)
|
|
|
|
// .await
|
|
|
|
// .expect("failed to create account");
|
|
|
|
//
|
|
|
|
// let mut found: bool = false;
|
|
|
|
// let accounts = cli
|
|
|
|
// .get_accounts("") // Empty filter.
|
|
|
|
// .await
|
|
|
|
// .expect("failed to get accounts");
|
|
|
|
// for account in accounts.subaddress_accounts {
|
|
|
|
// if account.label == label {
|
|
|
|
// found = true;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// assert!(found);
|
2020-09-28 06:18:50 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#[tokio::test]
|
|
|
|
async fn transfer_and_check_tx_key() {
|
2020-11-01 23:02:28 +00:00
|
|
|
let fund_alice: u64 = 1_000_000_000_000;
|
2020-09-28 06:18:50 +00:00
|
|
|
let fund_bob = 0;
|
|
|
|
|
|
|
|
let tc = Cli::default();
|
2020-11-01 23:02:28 +00:00
|
|
|
let (monero, _container) = Monero::new_monerod(&tc).unwrap();
|
|
|
|
// let _ = monero.init(fund_alice, fund_bob).await;
|
|
|
|
//
|
|
|
|
// let address_bob = monero
|
|
|
|
// .bob_wallet_rpc_client()
|
|
|
|
// .get_address(0)
|
|
|
|
// .await
|
|
|
|
// .expect("failed to get Bob's address")
|
|
|
|
// .address;
|
|
|
|
//
|
|
|
|
// let transfer_amount = 100;
|
|
|
|
// let transfer = monero
|
|
|
|
// .alice_wallet_rpc_client()
|
|
|
|
// .transfer(0, transfer_amount, &address_bob)
|
|
|
|
// .await
|
|
|
|
// .expect("transfer failed");
|
|
|
|
//
|
|
|
|
// let tx_id = transfer.tx_hash;
|
|
|
|
// let tx_key = transfer.tx_key;
|
|
|
|
//
|
|
|
|
// let cli = monero.miner_wallet_rpc_client();
|
|
|
|
// let res = cli
|
|
|
|
// .check_tx_key(&tx_id, &tx_key, &address_bob)
|
|
|
|
// .await
|
|
|
|
// .expect("failed to check tx by key");
|
|
|
|
//
|
|
|
|
// assert_that!(res.received).is_equal_to(transfer_amount);
|
2020-09-28 06:18:50 +00:00
|
|
|
}
|