MCPcopy Create free account
hub / github.com/AI45Lab/Code / test_model_api_key_override

Function test_model_api_key_override

core/src/config/tests.rs:302–362  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

300
301#[test]
302fn test_model_api_key_override() {
303 let provider = ProviderConfig {
304 name: "openai".to_string(),
305 api_key: Some("provider-key".to_string()),
306 base_url: Some("https://api.openai.com".to_string()),
307 headers: HashMap::new(),
308 session_id_header: None,
309 models: vec![
310 ModelConfig {
311 id: "gpt-4".to_string(),
312 name: "GPT-4".to_string(),
313 family: "gpt".to_string(),
314 api_key: None, // Uses provider key
315 base_url: None,
316 headers: HashMap::new(),
317 session_id_header: None,
318 attachment: false,
319 reasoning: false,
320 tool_call: true,
321 temperature: true,
322 release_date: None,
323 modalities: ModelModalities::default(),
324 cost: ModelCost::default(),
325 limit: ModelLimit::default(),
326 },
327 ModelConfig {
328 id: "custom-model".to_string(),
329 name: "Custom Model".to_string(),
330 family: "custom".to_string(),
331 api_key: Some("model-specific-key".to_string()), // Override
332 base_url: Some("https://custom.api.com".to_string()), // Override
333 headers: HashMap::new(),
334 session_id_header: None,
335 attachment: false,
336 reasoning: false,
337 tool_call: true,
338 temperature: true,
339 release_date: None,
340 modalities: ModelModalities::default(),
341 cost: ModelCost::default(),
342 limit: ModelLimit::default(),
343 },
344 ],
345 };
346
347 // Model without override uses provider key
348 let model1 = provider.find_model("gpt-4").unwrap();
349 assert_eq!(provider.get_api_key(model1), Some("provider-key"));
350 assert_eq!(
351 provider.get_base_url(model1),
352 Some("https://api.openai.com")
353 );
354
355 // Model with override uses its own key
356 let model2 = provider.find_model("custom-model").unwrap();
357 assert_eq!(provider.get_api_key(model2), Some("model-specific-key"));
358 assert_eq!(
359 provider.get_base_url(model2),

Callers

nothing calls this directly

Calls 1

find_modelMethod · 0.80

Tested by

no test coverage detected