models-manager/src/model_info_overrides_tests.rs
45 lines
use crate::ModelsManagerConfig;use crate::manager::ModelsManager;use codex_protocol::openai_models::TruncationPolicyConfig;use pretty_assertions::assert_eq;use tempfile::TempDir;use super::TestModelsEndpoint;use super::openai_manager_for_tests;#[tokio::test(flavor = "multi_thread", worker_threads = 2)]async fn offline_model_info_without_tool_output_override() { let codex_home = TempDir::new().expect("create temp dir"); let config = ModelsManagerConfig::default(); let manager = openai_manager_for_tests( codex_home.path().to_path_buf(), TestModelsEndpoint::new(Vec::new()), ); let model_info = manager.get_model_info("gpt-5.2", &config).await; assert_eq!( model_info.truncation_policy, TruncationPolicyConfig::bytes(/*limit*/ 10_000) );}#[tokio::test(flavor = "multi_thread", worker_threads = 2)]async fn offline_model_info_with_tool_output_override() { let codex_home = TempDir::new().expect("create temp dir"); let config = ModelsManagerConfig { tool_output_token_limit: Some(123), ..Default::default() }; let manager = openai_manager_for_tests( codex_home.path().to_path_buf(), TestModelsEndpoint::new(Vec::new()), ); let model_info = manager.get_model_info("gpt-5.4", &config).await; assert_eq!( model_info.truncation_policy, TruncationPolicyConfig::tokens(/*limit*/ 123) );}