use chipp::{ChippClient, ChippConfig};
use std::time::Duration;
#[test]
fn test_new_with_valid_config_creates_client() {
let config = ChippConfig {
api_key: "test-api-key".to_string(),
model: "test-model".to_string(),
..Default::default()
};
let result = ChippClient::new(config);
assert!(
result.is_ok(),
"ChippClient::new() should succeed with valid config"
);
}
#[test]
fn test_new_with_default_config() {
let config = ChippConfig {
api_key: "test-api-key".to_string(),
model: "gpt-4".to_string(),
..Default::default()
};
let result = ChippClient::new(config);
assert!(
result.is_ok(),
"ChippClient::new() should succeed with defaults"
);
}
#[test]
fn test_new_with_custom_timeout() {
let config = ChippConfig {
api_key: "test-api-key".to_string(),
model: "test-model".to_string(),
timeout: Duration::from_millis(1),
..Default::default()
};
let result = ChippClient::new(config);
assert!(
result.is_ok(),
"ChippClient::new() should succeed with custom timeout"
);
}
#[test]
fn test_new_with_zero_retries() {
let config = ChippConfig {
api_key: "test-api-key".to_string(),
model: "test-model".to_string(),
max_retries: 0,
..Default::default()
};
let result = ChippClient::new(config);
assert!(
result.is_ok(),
"ChippClient::new() should succeed with zero retries"
);
}
#[test]
fn test_session_default_trait() {
let session = chipp::ChippSession::default();
assert!(session.chat_session_id.is_none());
}
#[test]
fn test_new_returns_result_ok() {
let config = ChippConfig {
api_key: "test-api-key".to_string(),
model: "test-model".to_string(),
..Default::default()
};
let result = ChippClient::new(config);
assert!(result.is_ok(), "ChippClient::new() should return Ok");
}