40 lines
1.2 KiB
Rust
40 lines
1.2 KiB
Rust
use llm_worker::llm_client::providers::openai::OpenAIClient;
|
||
use llm_worker::{Worker, WorkerError};
|
||
|
||
#[test]
|
||
fn test_openai_top_k_warning() {
|
||
// ダミーキーでクライアント作成(validate_configは通信しないため安全)
|
||
let client = OpenAIClient::new("dummy-key", "gpt-4o");
|
||
|
||
// top_kを設定したWorkerを作成
|
||
let worker = Worker::new(client).top_k(50); // OpenAIはtop_k非対応
|
||
|
||
// validate()を実行
|
||
let result = worker.validate();
|
||
|
||
// エラーが返り、ConfigWarningsが含まれていることを確認
|
||
match result {
|
||
Err(WorkerError::ConfigWarnings(warnings)) => {
|
||
assert_eq!(warnings.len(), 1);
|
||
assert_eq!(warnings[0].option_name, "top_k");
|
||
println!("Got expected warning: {}", warnings[0]);
|
||
}
|
||
Ok(_) => panic!("Should have returned validation error"),
|
||
Err(e) => panic!("Unexpected error type: {:?}", e),
|
||
}
|
||
}
|
||
|
||
#[test]
|
||
fn test_openai_valid_config() {
|
||
let client = OpenAIClient::new("dummy-key", "gpt-4o");
|
||
|
||
// validな設定(temperatureのみ)
|
||
let worker = Worker::new(client).temperature(0.7);
|
||
|
||
// validate()を実行
|
||
let result = worker.validate();
|
||
|
||
// 成功を確認
|
||
assert!(result.is_ok());
|
||
}
|