better response handling
This commit is contained in:
@@ -1,11 +1,10 @@
|
||||
use tokio;
|
||||
mod utils;
|
||||
use utils::{base_url, test_client, validate_json_response};
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_health() {
|
||||
let url = format!("{}/v1/api-status/health", base_url());
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
|
||||
assert_eq!(json["status"], "up", "Expected status is 'up'");
|
||||
@@ -14,7 +13,7 @@ async fn test_health() {
|
||||
#[tokio::test]
|
||||
async fn test_build_information() {
|
||||
let url = format!("{}/v1/api-status/build-information", base_url());
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
|
||||
assert!(
|
||||
@@ -28,7 +27,7 @@ async fn test_build_information() {
|
||||
// async fn test_signer_information() {
|
||||
// let url = format!("{}/v1/api-status/signer-information", base_url());
|
||||
// println!("{}", url);
|
||||
// let res = test_client().get(&url).send().await.unwrap();
|
||||
// let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
|
||||
// assert!(res.status().is_success(), "Expected 2xx but got {}", res.status());
|
||||
// let json: Value = res.json().await.unwrap_or_else(|err| panic!("Invalid JSON response: {}", err));
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
mod utils;
|
||||
use tokio;
|
||||
use utils::{base_url, test_client, validate_json_response};
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_circulating_supply() {
|
||||
let url = format!("{}/v1/circulating-supply", base_url());
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
|
||||
assert!(
|
||||
@@ -20,7 +19,7 @@ async fn test_get_circulating_supply_value() {
|
||||
"{}/v1/circulating-supply/circulating-supply-value",
|
||||
base_url()
|
||||
);
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
|
||||
assert!(
|
||||
@@ -34,7 +33,7 @@ async fn test_get_circulating_supply_value() {
|
||||
#[tokio::test]
|
||||
async fn test_get_total_supply_value() {
|
||||
let url = format!("{}/v1/circulating-supply/total-supply-value", base_url());
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
|
||||
assert!(json.is_number(), "Expected a number for total supply value");
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
mod utils;
|
||||
use tokio;
|
||||
use utils::{base_url, test_client, validate_json_response};
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_current_epoch() {
|
||||
let url = format!("{}/v1/epoch/current", base_url());
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
|
||||
assert!(json.get("id").is_some(), "Expected a value for 'id'");
|
||||
@@ -22,7 +21,7 @@ async fn test_get_current_epoch() {
|
||||
#[tokio::test]
|
||||
async fn test_get_reward_params() {
|
||||
let url = format!("{}/v1/epoch/reward_params", base_url());
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
|
||||
let interval = json
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
mod utils;
|
||||
use tokio;
|
||||
use utils::{base_url, test_client, validate_json_response};
|
||||
|
||||
#[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 res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
|
||||
let block_header = json
|
||||
@@ -28,7 +27,7 @@ async fn test_get_chain_status() {
|
||||
#[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 res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
|
||||
assert!(
|
||||
@@ -48,7 +47,7 @@ async fn test_get_network_details() {
|
||||
#[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 res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
|
||||
assert!(
|
||||
@@ -64,7 +63,7 @@ async fn test_get_nym_contracts() {
|
||||
#[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 res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
|
||||
let mixnet_contract = json
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
mod utils;
|
||||
use chrono::Utc;
|
||||
use tokio;
|
||||
use utils::{base_url, get_any_node_id, test_client, validate_json_response};
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_bonded_nodes() {
|
||||
let url = format!("{}/v1/nym-nodes/bonded", base_url());
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
let data = json.get("data").expect("Expected a value for 'data' field");
|
||||
|
||||
@@ -20,7 +19,7 @@ async fn test_get_bonded_nodes() {
|
||||
#[tokio::test]
|
||||
async fn test_get_described_nodes() {
|
||||
let url = format!("{}/v1/nym-nodes/described", base_url());
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
let data = json.get("data").expect("Expected a value for 'data' field");
|
||||
|
||||
@@ -35,14 +34,14 @@ async fn test_get_described_nodes() {
|
||||
// #[tokio::test]
|
||||
// async fn test_get_noise() {
|
||||
// let url = format!("{}/v1/nym-nodes/noise", base_url());
|
||||
// let res = test_client().get(&url).send().await.unwrap();
|
||||
// let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
// let json = validate_json_response(res).await;
|
||||
// }
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_rewarded_set() {
|
||||
let url = format!("{}/v1/nym-nodes/rewarded-set", base_url());
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
let exit_gateways = json
|
||||
.get("exit_gateways")
|
||||
@@ -63,7 +62,7 @@ async fn test_get_annotation_for_node() {
|
||||
let id = get_any_node_id().await;
|
||||
println!("Using node_id: {}", id);
|
||||
let url = format!("{}/v1/nym-nodes/annotation/{}", base_url(), id);
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
let annotation = json
|
||||
.get("annotation")
|
||||
@@ -98,7 +97,7 @@ async fn test_get_historical_performance() {
|
||||
async fn test_get_performance_history() {
|
||||
let id = get_any_node_id().await;
|
||||
let url = format!("{}/v1/nym-nodes/performance-history/{}", base_url(), id);
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
let data = json
|
||||
.get("history")
|
||||
@@ -116,7 +115,7 @@ async fn test_get_performance_history() {
|
||||
async fn test_get_performance() {
|
||||
let id = get_any_node_id().await;
|
||||
let url = format!("{}/v1/nym-nodes/performance/{}", base_url(), id);
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
assert!(
|
||||
json.get("node_id").is_some(),
|
||||
@@ -132,7 +131,7 @@ async fn test_get_performance() {
|
||||
async fn test_get_uptime_history() {
|
||||
let id = get_any_node_id().await;
|
||||
let url = format!("{}/v1/nym-nodes/uptime-history/{}", base_url(), id);
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json = validate_json_response(res).await;
|
||||
let data = json
|
||||
.get("history")
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
mod utils;
|
||||
use serde_json::Value;
|
||||
use tokio;
|
||||
use utils::{base_url, test_client};
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_config_score_details() {
|
||||
let url = format!("{}/v1/status/config-score-details", base_url());
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
assert!(
|
||||
res.status().is_success(),
|
||||
"Expected 200 OK, got {}",
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
mod utils;
|
||||
use serde_json::Value;
|
||||
use tokio;
|
||||
use utils::{base_url, test_client};
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_skimmed_nodes_active() {
|
||||
let url = format!("{}/v1/unstable/nym-nodes/skimmed/active", base_url());
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
assert!(
|
||||
res.status().is_success(),
|
||||
"Expected 2xx but got {}",
|
||||
@@ -32,7 +31,7 @@ async fn test_get_skimmed_active_mixnodes() {
|
||||
"{}/v1/unstable/nym-nodes/skimmed/mixnodes/active",
|
||||
base_url()
|
||||
);
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
assert!(
|
||||
res.status().is_success(),
|
||||
"Expected 2xx but got {}",
|
||||
@@ -59,7 +58,7 @@ async fn test_get_skimmed_active_mixnodes() {
|
||||
#[tokio::test]
|
||||
async fn test_get_skimmed_all_mixnodes() {
|
||||
let url = format!("{}/v1/unstable/nym-nodes/skimmed/mixnodes/all", base_url());
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
assert!(
|
||||
res.status().is_success(),
|
||||
"Expected 2xx but got {}",
|
||||
@@ -89,7 +88,7 @@ async fn test_get_skimmed_active_exit_gateways() {
|
||||
"{}/v1/unstable/nym-nodes/skimmed/exit-gateways/active",
|
||||
base_url()
|
||||
);
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
assert!(
|
||||
res.status().is_success(),
|
||||
"Expected 2xx but got {}",
|
||||
@@ -119,7 +118,7 @@ async fn test_get_skimmed_all_exit_gateways() {
|
||||
"{}/v1/unstable/nym-nodes/skimmed/exit-gateways/all",
|
||||
base_url()
|
||||
);
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
assert!(
|
||||
res.status().is_success(),
|
||||
"Expected 2xx but got {}",
|
||||
@@ -149,7 +148,7 @@ async fn test_get_skimmed_active_entry_gateways() {
|
||||
"{}/v1/unstable/nym-nodes/skimmed/entry-gateways/active",
|
||||
base_url()
|
||||
);
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
assert!(
|
||||
res.status().is_success(),
|
||||
"Expected 2xx but got {}",
|
||||
@@ -179,7 +178,7 @@ async fn test_get_skimmed_all_entry_gateways() {
|
||||
"{}/v1/unstable/nym-nodes/skimmed/entry-gateways/all",
|
||||
base_url()
|
||||
);
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
assert!(
|
||||
res.status().is_success(),
|
||||
"Expected 2xx but got {}",
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
mod utils;
|
||||
use serde_json::Value;
|
||||
use tokio;
|
||||
use utils::{base_url, get_gateway_identity_key, get_mixnode_node_id, test_client};
|
||||
|
||||
#[tokio::test]
|
||||
@@ -11,7 +10,7 @@ async fn test_get_gateway_unstable_test_results() {
|
||||
base_url(),
|
||||
identity
|
||||
);
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
assert!(
|
||||
res.status().is_success(),
|
||||
"Expected 2xx but got {}",
|
||||
@@ -52,7 +51,7 @@ async fn test_get_mixnode_unstable_test_results() {
|
||||
base_url(),
|
||||
mix_id
|
||||
);
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
assert!(
|
||||
res.status().is_success(),
|
||||
"Expected 2xx but got {}",
|
||||
@@ -91,7 +90,7 @@ async fn test_get_latest_network_monitor_run_details() {
|
||||
"{}/v1/status/network-monitor/unstable/run/latest/details",
|
||||
base_url()
|
||||
);
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
assert!(
|
||||
res.status().is_success(),
|
||||
"Expected 2xx but got {}",
|
||||
|
||||
@@ -10,7 +10,7 @@ pub fn test_client() -> Client {
|
||||
pub fn base_url() -> String {
|
||||
dotenv().ok();
|
||||
|
||||
std::env::var("NYM_API").unwrap_or_else(|err| {
|
||||
std::env::var("NYM_API").unwrap_or_else(|_err| {
|
||||
std::env::var("NYM_API")
|
||||
.unwrap_or_else(|_| panic!("Couldn't find NYM_API env var"))
|
||||
.trim_end_matches('/')
|
||||
@@ -18,6 +18,7 @@ pub fn base_url() -> String {
|
||||
})
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub async fn validate_json_response(res: Response) -> Value {
|
||||
assert!(
|
||||
res.status().is_success(),
|
||||
@@ -31,9 +32,10 @@ pub async fn validate_json_response(res: Response) -> Value {
|
||||
json
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub async fn get_any_node_id() -> String {
|
||||
let url = format!("{}/v1/nym-nodes/bonded", base_url());
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json: Value = res.json().await.unwrap();
|
||||
|
||||
json.get("data")
|
||||
@@ -47,9 +49,10 @@ pub async fn get_any_node_id() -> String {
|
||||
.to_string()
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub async fn get_mixnode_node_id() -> u64 {
|
||||
let url = format!("{}/v1/nym-nodes/described", base_url());
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json: Value = res.json().await.unwrap();
|
||||
|
||||
json.get("data")
|
||||
@@ -69,9 +72,10 @@ pub async fn get_mixnode_node_id() -> u64 {
|
||||
.expect("Unable to find mixnode node id")
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub async fn get_gateway_identity_key() -> String {
|
||||
let url = format!("{}/v1/nym-nodes/described", base_url());
|
||||
let res = test_client().get(&url).send().await.unwrap();
|
||||
let res = test_client().get(&url).send().await.unwrap_or_else(|err| panic!("Failed to send request to {}: {}", url, err));
|
||||
let json: Value = res.json().await.unwrap();
|
||||
|
||||
json.get("data")
|
||||
|
||||
Reference in New Issue
Block a user