use std::path::PathBuf; use gpodder::{AuthStore, User}; use gpodder_sqlite::SqliteRepository; use rand::{distributions::Alphanumeric, Rng}; pub fn setup() -> (PathBuf, SqliteRepository, Vec) { let fname: String = rand::thread_rng() .sample_iter(Alphanumeric) .take(10) .map(char::from) .collect(); let path = std::env::temp_dir().join(fname); let store = SqliteRepository::from_path(&path).unwrap(); let mut users = Vec::new(); for i in 0..1000 { let username = format!("test{}", i + 1); let password_hash = format!("dummyhash{}", i + 1); users.push(store.insert_user(&username, &password_hash).unwrap()); } (path, store, users) } pub fn teardown(path: PathBuf) { let _ = std::fs::remove_file(path); }