Groq configure fix (#5833)
Signed-off-by: neiii <1mrtemeck1@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -372,4 +372,39 @@ mod tests {
|
||||
_guard.set("GOOSE_CONTEXT_LIMIT", "64000");
|
||||
let _result = create_lead_worker_from_env("openai", &default_model, "gpt-4o");
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_openai_compatible_providers_config_keys() {
|
||||
let providers_list = providers().await;
|
||||
let cases = vec![
|
||||
("openai", "OPENAI_API_KEY"),
|
||||
("groq", "GROQ_API_KEY"),
|
||||
("mistral", "MISTRAL_API_KEY"),
|
||||
("custom_deepseek", "DEEPSEEK_API_KEY"),
|
||||
];
|
||||
for (name, expected_key) in cases {
|
||||
if let Some((meta, _)) = providers_list.iter().find(|(m, _)| m.name == name) {
|
||||
assert!(
|
||||
!meta.config_keys.is_empty(),
|
||||
"{name} provider should have config keys"
|
||||
);
|
||||
assert_eq!(
|
||||
meta.config_keys[0].name, expected_key,
|
||||
"First config key for {name} should be {expected_key}, got {}",
|
||||
meta.config_keys[0].name
|
||||
);
|
||||
assert!(
|
||||
meta.config_keys[0].required,
|
||||
"{expected_key} should be required"
|
||||
);
|
||||
assert!(
|
||||
meta.config_keys[0].secret,
|
||||
"{expected_key} should be secret"
|
||||
);
|
||||
} else {
|
||||
// Provider not registered; skip test for this provider
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,6 +96,16 @@ impl ProviderRegistry {
|
||||
})
|
||||
.collect();
|
||||
|
||||
let mut config_keys = base_metadata.config_keys.clone();
|
||||
|
||||
if let Some(api_key_index) = config_keys
|
||||
.iter()
|
||||
.position(|key| key.required && key.secret)
|
||||
{
|
||||
config_keys[api_key_index] =
|
||||
super::base::ConfigKey::new(&config.api_key_env, true, true, None);
|
||||
}
|
||||
|
||||
let custom_metadata = ProviderMetadata {
|
||||
name: config.name.clone(),
|
||||
display_name: config.display_name.clone(),
|
||||
@@ -103,7 +113,7 @@ impl ProviderRegistry {
|
||||
default_model,
|
||||
known_models,
|
||||
model_doc_link: base_metadata.model_doc_link,
|
||||
config_keys: base_metadata.config_keys,
|
||||
config_keys,
|
||||
};
|
||||
|
||||
self.entries.insert(
|
||||
|
||||
Reference in New Issue
Block a user