opendev-http 0.1.4

HTTP client, authentication, and provider adapters for OpenDev
Documentation
use super::*;

#[test]
fn test_adapter_for_provider_anthropic() {
    let adapter = AdaptedClient::adapter_for_provider("anthropic").unwrap();
    assert_eq!(adapter.provider_name(), "anthropic");
}

#[test]
fn test_adapter_for_provider_openai() {
    let adapter = AdaptedClient::adapter_for_provider("openai").unwrap();
    assert_eq!(adapter.provider_name(), "openai");
}

#[test]
fn test_adapter_for_provider_gemini() {
    let adapter = AdaptedClient::adapter_for_provider("gemini").unwrap();
    assert_eq!(adapter.provider_name(), "gemini");
}

#[test]
fn test_adapter_for_provider_google() {
    let adapter = AdaptedClient::adapter_for_provider("google").unwrap();
    assert_eq!(adapter.provider_name(), "gemini");
}

#[test]
fn test_adapter_for_provider_groq_is_none() {
    assert!(AdaptedClient::adapter_for_provider("groq").is_none());
}

#[test]
fn test_adapter_for_provider_unknown_is_none() {
    assert!(AdaptedClient::adapter_for_provider("custom").is_none());
}

#[test]
fn test_resolve_provider_explicit() {
    assert_eq!(
        AdaptedClient::resolve_provider("anthropic", ""),
        "anthropic"
    );
    assert_eq!(
        AdaptedClient::resolve_provider("custom", "sk-ant-abc"),
        "custom"
    );
}

#[test]
fn test_resolve_provider_auto_detect() {
    assert_eq!(
        AdaptedClient::resolve_provider("", "sk-ant-api03-abc"),
        "anthropic"
    );
    assert_eq!(AdaptedClient::resolve_provider("", "sk-proj-abc"), "openai");
    assert_eq!(
        AdaptedClient::resolve_provider("", "AIzaSyAbc123"),
        "gemini"
    );
    assert_eq!(AdaptedClient::resolve_provider("", "gsk_abc123"), "groq");
}

#[test]
fn test_resolve_provider_fallback_to_openai() {
    assert_eq!(AdaptedClient::resolve_provider("", "unknown-key"), "openai");
}