30 lines
802 B
Rust
30 lines
802 B
Rust
use std::path::PathBuf;
|
|
|
|
use gpodder::{AuthStore, User};
|
|
use gpodder_sqlite::SqliteRepository;
|
|
use rand::{distributions::Alphanumeric, Rng};
|
|
|
|
pub fn setup() -> (PathBuf, SqliteRepository, Vec<User>) {
|
|
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);
|
|
}
|