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}