test(gpodder_sqlite): add remove old sessions test
parent
5f06e0847f
commit
fe8939c07e
|
@ -102,3 +102,43 @@ fn test_refresh_session() {
|
|||
Some(new_session)
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn remove_old_sessions() {
|
||||
let (store, users) = common::setup();
|
||||
|
||||
let now = chrono::Utc::now().trunc_subsecs(0);
|
||||
let timestamps = [
|
||||
now,
|
||||
now - TimeDelta::seconds(1),
|
||||
now - TimeDelta::seconds(2),
|
||||
];
|
||||
|
||||
for (i, ts) in timestamps.into_iter().enumerate() {
|
||||
store
|
||||
.insert_session(&Session {
|
||||
id: i as i64,
|
||||
last_seen: ts,
|
||||
user: users[0].clone(),
|
||||
})
|
||||
.expect("insert shouldn't fail");
|
||||
}
|
||||
|
||||
assert_eq!(
|
||||
store
|
||||
.remove_old_sessions(now)
|
||||
.expect("remove old sessions shouldn't fail"),
|
||||
2
|
||||
);
|
||||
|
||||
assert!(matches!(store.get_session(1), Ok(None)));
|
||||
assert!(matches!(store.get_session(2), Ok(None)));
|
||||
assert_eq!(
|
||||
store.get_session(0).expect("get session shouldn't fail"),
|
||||
Some(Session {
|
||||
id: 0,
|
||||
last_seen: now,
|
||||
user: users[0].clone(),
|
||||
})
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue