From 4714efb9e42e0503c20ee11893cdbcf6d9635247 Mon Sep 17 00:00:00 2001 From: Alex-wuhu Date: Tue, 31 Mar 2026 14:26:49 +0800 Subject: [PATCH] test: add unit tests for Novita provider defaults, alias, and driver creation - test_provider_defaults_novita: verify base_url, api_key_env, key_required - test_provider_defaults_novita_ai_alias: verify "novita-ai" alias resolves - test_novita_provider_with_env_key: driver creation succeeds with env key - test_novita_provider_no_key_errors: driver creation fails without key Co-Authored-By: Claude Opus 4.6 --- crates/openfang-runtime/src/drivers/mod.rs | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/crates/openfang-runtime/src/drivers/mod.rs b/crates/openfang-runtime/src/drivers/mod.rs index 14e5d81d..5ebab536 100644 --- a/crates/openfang-runtime/src/drivers/mod.rs +++ b/crates/openfang-runtime/src/drivers/mod.rs @@ -744,6 +744,52 @@ mod tests { assert!(d.key_required); } + #[test] + fn test_provider_defaults_novita() { + let d = provider_defaults("novita").unwrap(); + assert_eq!(d.base_url, "https://api.novita.ai/openai/v1"); + assert_eq!(d.api_key_env, "NOVITA_API_KEY"); + assert!(d.key_required); + } + + #[test] + fn test_provider_defaults_novita_ai_alias() { + let d = provider_defaults("novita-ai").unwrap(); + assert_eq!(d.base_url, "https://api.novita.ai/openai/v1"); + assert_eq!(d.api_key_env, "NOVITA_API_KEY"); + assert!(d.key_required); + } + + #[test] + fn test_novita_provider_with_env_key() { + let unique_key = "test-novita-key-12345"; + std::env::set_var("NOVITA_API_KEY", unique_key); + let config = DriverConfig { + provider: "novita".to_string(), + api_key: None, + base_url: None, + skip_permissions: true, + }; + let driver = create_driver(&config); + assert!( + driver.is_ok(), + "Novita provider with env var should succeed" + ); + std::env::remove_var("NOVITA_API_KEY"); + } + + #[test] + fn test_novita_provider_no_key_errors() { + let config = DriverConfig { + provider: "novita".to_string(), + api_key: None, + base_url: None, + skip_permissions: true, + }; + let driver = create_driver(&config); + assert!(driver.is_err()); + } + #[test] fn test_nvidia_provider_with_env_key() { // NVIDIA NIM is a known provider — set API key and verify driver creation succeeds.