usage_tests.rs

 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}