test(gpodder_sqlite): added some tests for AuthStore
parent
0bb0c5657a
commit
5f06e0847f
|
@ -1,6 +1,6 @@
|
|||
mod common;
|
||||
|
||||
use chrono::SubsecRound;
|
||||
use chrono::{SubsecRound, TimeDelta};
|
||||
use gpodder::{AuthStore, Session};
|
||||
use gpodder_sqlite::SqliteRepository;
|
||||
|
||||
|
@ -47,3 +47,58 @@ fn test_create_session() {
|
|||
let session = store.get_session(123).expect("operation shouldn't fail");
|
||||
assert_eq!(session, Some(new_session));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_remove_session() {
|
||||
let (store, users) = common::setup();
|
||||
|
||||
let new_session = Session {
|
||||
id: 123,
|
||||
//
|
||||
last_seen: chrono::Utc::now().trunc_subsecs(0),
|
||||
user: users[0].clone(),
|
||||
};
|
||||
|
||||
store
|
||||
.insert_session(&new_session)
|
||||
.expect("insert session shouldn't fail");
|
||||
|
||||
assert!(store
|
||||
.get_session(123)
|
||||
.expect("get session shouldn't fail")
|
||||
.is_some());
|
||||
|
||||
store.remove_session(123).expect("remove shouldn't fail");
|
||||
|
||||
assert!(store
|
||||
.get_session(123)
|
||||
.expect("get session shouldn't fail")
|
||||
.is_none());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_refresh_session() {
|
||||
let (store, users) = common::setup();
|
||||
|
||||
let mut new_session = Session {
|
||||
id: 123,
|
||||
//
|
||||
last_seen: chrono::Utc::now().trunc_subsecs(0) - TimeDelta::seconds(10),
|
||||
user: users[0].clone(),
|
||||
};
|
||||
|
||||
store
|
||||
.insert_session(&new_session)
|
||||
.expect("insert session shouldn't fail");
|
||||
|
||||
store
|
||||
.refresh_session(&new_session, chrono::Utc::now().trunc_subsecs(0))
|
||||
.expect("refresh session shouldn't fail");
|
||||
|
||||
new_session.last_seen = chrono::Utc::now().trunc_subsecs(0);
|
||||
|
||||
assert_eq!(
|
||||
store.get_session(123).expect("get session shouldn't fail"),
|
||||
Some(new_session)
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue