use cloudllm::client_wrapper::Role;
use cloudllm::clients::openai::{Model, OpenAIClient};
use cloudllm::{ClientWrapper, LLMSession, Message};
#[tokio::test]
async fn test_streaming_returns_option() {
cloudllm::init_logger();
let secret_key = std::env::var("OPEN_AI_SECRET").unwrap_or_else(|_| "fake_key".to_string());
let client = OpenAIClient::new_with_model_enum(&secret_key, Model::GPT5Nano);
let messages = vec![Message {
role: Role::User,
content: "Hello".into(),
tool_calls: vec![],
}];
let _ = client.send_message_stream(&messages, None).await;
}
#[tokio::test]
async fn test_session_streaming_api() {
cloudllm::init_logger();
let secret_key = std::env::var("OPEN_AI_SECRET").unwrap_or_else(|_| "fake_key".to_string());
let client = OpenAIClient::new_with_model_enum(&secret_key, Model::GPT5Nano);
let mut session = LLMSession::new(
std::sync::Arc::new(client),
"You are a helpful assistant.".to_string(),
1024,
);
let _ = session
.send_message_stream(Role::User, "Test".to_string(), None)
.await;
}
#[tokio::test]
async fn test_backward_compatibility_non_streaming() {
cloudllm::init_logger();
let secret_key = std::env::var("OPEN_AI_SECRET").unwrap_or_else(|_| "fake_key".to_string());
let client = OpenAIClient::new_with_model_enum(&secret_key, Model::GPT5Nano);
let mut session = LLMSession::new(
std::sync::Arc::new(client),
"You are a helpful assistant.".to_string(),
1024,
);
let _ = session
.send_message(Role::User, "Test".to_string(), None)
.await;
}