test(gpodder_sqlite): added some tests for AuthStore

main
Jef Roosens 2025-03-19 11:01:37 +01:00
parent 0bb0c5657a
commit 5f06e0847f
No known key found for this signature in database
GPG Key ID: 21FD3D77D56BAF49
1 changed files with 56 additions and 1 deletions

View File

@ -1,6 +1,6 @@
mod common; mod common;
use chrono::SubsecRound; use chrono::{SubsecRound, TimeDelta};
use gpodder::{AuthStore, Session}; use gpodder::{AuthStore, Session};
use gpodder_sqlite::SqliteRepository; use gpodder_sqlite::SqliteRepository;
@ -47,3 +47,58 @@ fn test_create_session() {
let session = store.get_session(123).expect("operation shouldn't fail"); let session = store.get_session(123).expect("operation shouldn't fail");
assert_eq!(session, Some(new_session)); 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)
);
}