mirror of
https://github.com/zyycn/codex-proxy-rs.git
synced 2026-11-07 00:05:49 +00:00
30 lines
917 B
Rust
30 lines
917 B
Rust
use codex_proxy_rs::storage::db::connect_sqlite;
|
|
|
|
#[tokio::test]
|
|
async fn sqlite_schema_creates_accounts_and_event_tables() {
|
|
let dir = tempfile::tempdir().unwrap();
|
|
let db = dir.path().join("test.sqlite");
|
|
let url = format!("sqlite://{}", db.display());
|
|
let pool = connect_sqlite(&url).await.unwrap();
|
|
|
|
let row: (i64,) = sqlx::query_as(
|
|
"select count(*) from sqlite_master where type = 'table' and name in ('accounts', 'client_api_keys', 'event_logs')",
|
|
)
|
|
.fetch_one(&pool)
|
|
.await
|
|
.unwrap();
|
|
assert_eq!(row.0, 3);
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn connect_sqlite_creates_parent_directory_for_file_database() {
|
|
let dir = tempfile::tempdir().unwrap();
|
|
let db = dir.path().join("nested").join("startup.sqlite");
|
|
let url = format!("sqlite://{}", db.display());
|
|
|
|
let pool = connect_sqlite(&url).await.unwrap();
|
|
pool.close().await;
|
|
|
|
assert!(db.exists());
|
|
}
|