mod setup;
use {
apis::vaults_api::*,
fireblocks_sdk::*,
setup::{Config, config},
};
#[rstest::rstest]
#[tokio::test]
async fn get_vault_account(config: Config) -> anyhow::Result<()> {
let c = config.client();
let id = String::from("0");
let params = GetVaultAccountParams::builder()
.vault_account_id(id.clone())
.build();
let result = c.vaults_api().get_vault_account(params).await?;
assert_eq!(result.id, id);
Ok(())
}
#[rstest::rstest]
#[tokio::test]
async fn vault_id(config: Config) -> anyhow::Result<()> {
let c = config.client();
c.vault("0").await?;
Ok(())
}
#[rstest::rstest]
#[tokio::test]
async fn vault_addresses(config: Config) -> anyhow::Result<()> {
let c = config.client();
c.addresses("0", ASSET_SOL_TEST).await?;
Ok(())
}
#[rstest::rstest]
#[tokio::test]
async fn get_paged_vault_accounts(config: Config) -> anyhow::Result<()> {
let c = config.client();
let params = GetPagedVaultAccountsParams::builder().limit(10.0).build();
let result = c.vaults_api().get_paged_vault_accounts(params).await?;
let accounts = result.accounts.unwrap_or_else(Vec::new);
assert!(!accounts.is_empty());
Ok(())
}
#[rstest::rstest]
#[tokio::test]
async fn test_vault_names(config: Config) -> anyhow::Result<()> {
let c = config.client();
let params = GetPagedVaultAccountsParams::builder()
.name_prefix("Default".to_owned())
.build();
let results = c.vaults_api().get_paged_vault_accounts(params).await?;
assert!(results.accounts.is_some());
let accounts = results.accounts.unwrap_or_else(Vec::new);
assert!(!accounts.is_empty());
assert_eq!(accounts[0].name.to_lowercase(), "default");
Ok(())
}
#[rstest::rstest]
#[tokio::test]
async fn vault_create(config: Config) -> anyhow::Result<()> {
if !config.create_vault() {
return Ok(());
}
let c = config.client();
let params = models::CreateVaultAccountRequest {
name: Some(setup::dummy_name(None)),
hidden_on_ui: Some(true),
customer_ref_id: None,
auto_fuel: None,
vault_type: None,
auto_assign: None,
};
let vault_account = c.create_vault(params).await?;
tokio::time::sleep(std::time::Duration::from_secs(1)).await;
c.create_asset(&vault_account.id, ASSET_ETH_TEST).await?;
Ok(())
}