use std::sync::Arc;
use cel_memory::{assert_write_get_stats, MemoryProvider};
use cel_memory_sqlite::{MockEmbedder, SqliteMemoryProvider};
#[tokio::test]
async fn sqlite_provider_works_through_locked_trait() {
let embedder = Arc::new(MockEmbedder::new());
let memory: Arc<dyn MemoryProvider> = Arc::new(
SqliteMemoryProvider::open_in_memory(embedder)
.await
.unwrap(),
);
let (_chunk, stats) = assert_write_get_stats(memory, "user asked about the Q4 report")
.await
.unwrap();
assert_eq!(stats.total_chunks, 1);
assert_eq!(stats.embedding_model.as_deref(), Some("mock-384"));
}