use tarpc::context;
use super::common::test_utils::setup_test_client;
use crate::{constants::ADDRESS, errors::TokenGenErrors, Result};
#[tokio::test]
async fn rpc_client_connection_failure() -> Result<()> {
let invalid_address: &str = "127.0.0.1:5002";
let result = setup_test_client(invalid_address).await;
assert!(result.is_err()); assert!(matches!(result, Err(TokenGenErrors::FailedToConnectRpc)));
Ok(())
}
#[tokio::test]
async fn setup_test_client_error_handling() -> Result<()> {
let client = setup_test_client(ADDRESS).await?;
let result = client
.verify_content(
context::current(),
"invalid content".to_string(),
"invalid toml".to_string(),
) .await
.map_err(TokenGenErrors::RpcError)?;
assert!(result.is_err());
Ok(())
}
#[tokio::test]
async fn test_error_propagation() -> Result<()> {
let client = setup_test_client(ADDRESS).await?;
let result = client
.verify_content(
context::current(),
"invalid content".to_string(),
"invalid toml".to_string(),
) .await?;
assert!(result.is_err());
let result = client
.verify_url(context::current(), "https://invalid-url".to_string()) .await?;
assert!(result.is_err());
Ok(())
}