use cloudreve_api::{CloudreveClient, Result};
#[cfg(test)]
mod mock_tests {
use super::*;
#[tokio::test]
async fn test_client_initialization() -> Result<()> {
let client = CloudreveClient::new("https://example.com");
assert_eq!(client.base_url, "https://example.com");
assert!(client.token.is_none());
Ok(())
}
#[tokio::test]
async fn test_token_management() -> Result<()> {
let mut client = CloudreveClient::new("https://example.com");
client.set_token("test_token".to_string());
assert_eq!(client.token, Some("test_token".to_string()));
client.set_token("new_token".to_string());
assert_eq!(client.token, Some("new_token".to_string()));
Ok(())
}
#[tokio::test]
async fn test_url_construction() -> Result<()> {
let client = CloudreveClient::new("https://example.com");
assert_eq!(client.base_url, "https://example.com");
Ok(())
}
#[tokio::test]
async fn test_client_clone() -> Result<()> {
let client = CloudreveClient::new("https://example.com");
let cloned_client = client.clone();
assert_eq!(client.base_url, cloned_client.base_url);
Ok(())
}
#[test]
fn test_debug_output() {
let client = CloudreveClient::new("https://example.com");
let debug_output = format!("{:?}", client);
assert!(debug_output.contains("ApiV4Client"));
assert!(debug_output.contains("https://example.com"));
}
}