1use std::sync::Arc;
2
3use pretty_assertions::assert_eq;
4use rpc::LanguageModelProvider;
5
6use crate::llm::db::LlmDatabase;
7use crate::test_both_llm_dbs;
8
9test_both_llm_dbs!(
10 test_find_or_create_usage,
11 test_find_or_create_usage_postgres,
12 test_find_or_create_usage_sqlite
13);
14
15async fn test_find_or_create_usage(db: &Arc<LlmDatabase>) {
16 db.initialize_providers().await.unwrap();
17
18 let usage = db
19 .find_or_create_usage(123, LanguageModelProvider::Anthropic, "claude-3-5-sonnet")
20 .await
21 .unwrap();
22
23 assert_eq!(usage.user_id, 123);
24}