test(gpodder_sqlite): add remove old sessions test
parent
5f06e0847f
commit
fe8939c07e
|
@ -102,3 +102,43 @@ fn test_refresh_session() {
|
||||||
Some(new_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