otter/gpodder_sqlite/tests/auth_test.rs

48 lines
1.1 KiB
Rust

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));
}