feat(gpodder_sqlite): set up testing
This commit is contained in:
parent
b44a47fefd
commit
705b347775
5 changed files with 90 additions and 1 deletions
47
gpodder_sqlite/tests/auth_test.rs
Normal file
47
gpodder_sqlite/tests/auth_test.rs
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
mod common;
|
||||
|
||||
use gpodder::{AuthStore, Session};
|
||||
use gpodder_sqlite::SqliteRepository;
|
||||
|
||||
#[test]
|
||||
fn test_create_user() {
|
||||
let store = SqliteRepository::in_memory().unwrap();
|
||||
|
||||
let user = store.get_user("test1");
|
||||
assert!(user.is_ok());
|
||||
assert_eq!(user.unwrap(), None);
|
||||
|
||||
let new_user = store.insert_user("test1", "dummyhash");
|
||||
|
||||
assert!(new_user.is_ok());
|
||||
|
||||
let new_user = new_user.unwrap();
|
||||
assert_eq!(new_user.username, "test1");
|
||||
assert_eq!(new_user.password_hash, "dummyhash");
|
||||
|
||||
let user = store.get_user("test1");
|
||||
|
||||
assert!(user.is_ok());
|
||||
assert_eq!(user.unwrap(), Some(new_user));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_create_session() {
|
||||
let (store, users) = common::setup();
|
||||
|
||||
let session = store.get_session(123).expect("operation shouldn't fail");
|
||||
assert_eq!(session, None);
|
||||
|
||||
let new_session = Session {
|
||||
id: 123,
|
||||
last_seen: chrono::Utc::now(),
|
||||
user: users[0].clone(),
|
||||
};
|
||||
|
||||
store
|
||||
.insert_session(&new_session)
|
||||
.expect("insert session shouldn't fail");
|
||||
|
||||
let session = store.get_session(123).expect("operation shouldn't fail");
|
||||
assert_eq!(session, Some(new_session));
|
||||
}
|
||||
16
gpodder_sqlite/tests/common.rs
Normal file
16
gpodder_sqlite/tests/common.rs
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
use gpodder::{AuthStore, User};
|
||||
use gpodder_sqlite::SqliteRepository;
|
||||
|
||||
pub fn setup() -> (SqliteRepository, Vec<User>) {
|
||||
let store = SqliteRepository::in_memory().unwrap();
|
||||
let mut users = Vec::new();
|
||||
|
||||
for i in 0..4 {
|
||||
let username = format!("test{}", i + 1);
|
||||
let password_hash = format!("dummyhash{}", i + 1);
|
||||
|
||||
users.push(store.insert_user(&username, &password_hash).unwrap());
|
||||
}
|
||||
|
||||
(store, users)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue