use std::{env, time::Instant};
use dotenv::dotenv;
use super::super::super::config::RestClientConfig;
use super::*;
fn init_repository_from_env() -> LnmUtilitiesRepository {
dotenv().ok();
let domain =
env::var("LNM_API_DOMAIN").expect("LNM_API_DOMAIN environment variable must be set");
let base = LnmRestBase::new(RestClientConfig::default().timeout(), domain, None)
.expect("Can create `LnmApiBase`");
LnmUtilitiesRepository::new(base)
}
#[tokio::test]
#[ignore]
async fn test_api() {
let repo = init_repository_from_env();
macro_rules! time_test {
($test_name: expr, $test_block: expr) => {{
println!("\nStarting test: {}", $test_name);
let start = Instant::now();
let result = $test_block;
let elapsed = start.elapsed();
println!("Test '{}' took: {:?}", $test_name, elapsed);
result
}};
}
time_test!("test_ping", repo.ping().await).unwrap();
let _ = time_test!("test_time", repo.time().await).unwrap();
}