provider_tests.rs

 1use cloud_llm_client::LanguageModelProvider;
 2use pretty_assertions::assert_eq;
 3
 4use crate::llm::db::LlmDatabase;
 5use crate::test_llm_db;
 6
 7test_llm_db!(
 8    test_initialize_providers,
 9    test_initialize_providers_postgres
10);
11
12async fn test_initialize_providers(db: &mut LlmDatabase) {
13    let initial_providers = db.list_providers().await.unwrap();
14    assert_eq!(initial_providers, vec![]);
15
16    db.initialize_providers().await.unwrap();
17
18    // Do it twice, to make sure the operation is idempotent.
19    db.initialize_providers().await.unwrap();
20
21    let providers = db.list_providers().await.unwrap();
22
23    assert_eq!(
24        providers,
25        &[
26            LanguageModelProvider::Anthropic,
27            LanguageModelProvider::Google,
28            LanguageModelProvider::OpenAi,
29        ]
30    )
31}