65 lines
2.3 KiB
Rust
65 lines
2.3 KiB
Rust
mod utils;
|
|
use utils::{base_url, test_client, validate_json_response};
|
|
use tokio;
|
|
|
|
#[tokio::test]
|
|
async fn test_get_chain_status() {
|
|
let url = format!("{}/v1/network/chain-status", base_url());
|
|
let res = test_client().get(&url).send().await.unwrap();
|
|
let json = validate_json_response(res).await;
|
|
|
|
let block_header = json
|
|
.get("status")
|
|
.and_then(|s| s.get("latest_block"))
|
|
.and_then(|b| b.get("block"))
|
|
.and_then(|b| b.get("header"))
|
|
.expect("Missing 'status.block.header'");
|
|
|
|
assert!(block_header.get("chain_id").is_some(), "Missing 'chain_id'");
|
|
assert!(block_header.get("height").is_some(), "Missing 'height'");
|
|
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn test_get_network_details() {
|
|
let url = format!("{}/v1/network/details", base_url());
|
|
let res = test_client().get(&url).send().await.unwrap();
|
|
let json = validate_json_response(res).await;
|
|
|
|
assert!(json.get("connected_nyxd").is_some(), "Missing 'connected_nyxd'");
|
|
let contracts = json
|
|
.get("network")
|
|
.and_then(|s| s.get("contracts"))
|
|
.expect("Missing 'contracts'");
|
|
assert!(contracts.get("mixnet_contract_address").is_some(), "Missing 'mixnet_contract_address'");
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn test_get_nym_contracts() {
|
|
let url = format!("{}/v1/network/nym-contracts", base_url());
|
|
let res = test_client().get(&url).send().await.unwrap();
|
|
let json = validate_json_response(res).await;
|
|
|
|
assert!(json.get("nym-mixnet-contract").is_some(), "Missing 'nym-mixnet-contract'");
|
|
assert!(json.get("nym-ecash-contract").is_some(), "Missing 'nym-ecash-contract'");
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn test_get_nym_contracts_detailed() {
|
|
let url = format!("{}/v1/network/nym-contracts-detailed", base_url());
|
|
let res = test_client().get(&url).send().await.unwrap();
|
|
let json = validate_json_response(res).await;
|
|
|
|
let mixnet_contract = json
|
|
.get("nym-mixnet-contract")
|
|
.and_then(|s| s.get("details"))
|
|
.expect("Missing details for mixnet contract");
|
|
assert!(mixnet_contract.get("commit_branch").is_some(), "Missing 'commit_branch'");
|
|
|
|
let ecash_contract = json
|
|
.get("nym-ecash-contract")
|
|
.and_then(|s| s.get("details"))
|
|
.expect("Missing details for ecash contract");
|
|
assert!(ecash_contract.get("commit_branch").is_some(), "Missing 'commit_branch'");
|
|
}
|