Skip to content

Commit d4d4ac5

Browse files
committed
Enable session filter tests
1 parent 9f370b9 commit d4d4ac5

File tree

1 file changed

+72
-80
lines changed
  • crates/storage-pg/src/personal

1 file changed

+72
-80
lines changed

crates/storage-pg/src/personal/mod.rs

Lines changed: 72 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@ mod tests {
1717
use chrono::Duration;
1818
use mas_data_model::{Clock, Device, clock::MockClock};
1919
use mas_storage::{
20-
RepositoryAccess,
21-
personal::{PersonalAccessTokenRepository, PersonalSessionRepository},
20+
Pagination, RepositoryAccess,
21+
personal::{
22+
PersonalAccessTokenRepository, PersonalSessionFilter, PersonalSessionRepository,
23+
},
2224
user::UserRepository,
2325
};
2426
use oauth2_types::scope::{OPENID, PROFILE, Scope};
@@ -46,30 +48,30 @@ mod tests {
4648
.await
4749
.unwrap();
4850

49-
// TODO: Session filters are not implemented for personal sessions yet
50-
// let all = PersonalSessionFilter::new().for_user(&user);
51-
// let active = all.active_only();
52-
// let finished = all.finished_only();
53-
// let pagination = Pagination::first(10);
54-
55-
// assert_eq!(repo.personal_session().count(all).await.unwrap(), 0);
56-
// assert_eq!(repo.personal_session().count(active).await.unwrap(), 0);
57-
// assert_eq!(repo.personal_session().count(finished).await.unwrap(), 0);
58-
59-
// let full_list = repo.compat_session().list(all, pagination).await.unwrap();
60-
// assert!(full_list.edges.is_empty());
61-
// let active_list = repo
62-
// .compat_session()
63-
// .list(active, pagination)
64-
// .await
65-
// .unwrap();
66-
// assert!(active_list.edges.is_empty());
67-
// let finished_list = repo
68-
// .compat_session()
69-
// .list(finished, pagination)
70-
// .await
71-
// .unwrap();
72-
// assert!(finished_list.edges.is_empty());
51+
let all = PersonalSessionFilter::new().for_actor_user(&bot_user);
52+
let active = all.active_only();
53+
let finished = all.finished_only();
54+
let pagination = Pagination::first(10);
55+
56+
assert_eq!(repo.personal_session().count(all).await.unwrap(), 0);
57+
assert_eq!(repo.personal_session().count(active).await.unwrap(), 0);
58+
assert_eq!(repo.personal_session().count(finished).await.unwrap(), 0);
59+
60+
// We start off with no sessions
61+
let full_list = repo.personal_session().list(all, pagination).await.unwrap();
62+
assert!(full_list.edges.is_empty());
63+
let active_list = repo
64+
.personal_session()
65+
.list(active, pagination)
66+
.await
67+
.unwrap();
68+
assert!(active_list.edges.is_empty());
69+
let finished_list = repo
70+
.personal_session()
71+
.list(finished, pagination)
72+
.await
73+
.unwrap();
74+
assert!(finished_list.edges.is_empty());
7375

7476
// Start a personal session for that user
7577
let device = Device::generate(&mut rng);
@@ -96,27 +98,28 @@ mod tests {
9698
assert!(!session.is_revoked());
9799
assert_eq!(session.scope, scope);
98100

99-
// TODO
100-
// assert_eq!(repo.compat_session().count(all).await.unwrap(), 1);
101-
// assert_eq!(repo.compat_session().count(active).await.unwrap(), 1);
102-
// assert_eq!(repo.compat_session().count(finished).await.unwrap(), 0);
103-
104-
// let full_list = repo.compat_session().list(all, pagination).await.unwrap();
105-
// assert_eq!(full_list.edges.len(), 1);
106-
// assert_eq!(full_list.edges[0].0.id, session.id);
107-
// let active_list = repo
108-
// .compat_session()
109-
// .list(active, pagination)
110-
// .await
111-
// .unwrap();
112-
// assert_eq!(active_list.edges.len(), 1);
113-
// assert_eq!(active_list.edges[0].0.id, session.id);
114-
// let finished_list = repo
115-
// .compat_session()
116-
// .list(finished, pagination)
117-
// .await
118-
// .unwrap();
119-
// assert!(finished_list.edges.is_empty());
101+
assert_eq!(repo.personal_session().count(all).await.unwrap(), 1);
102+
assert_eq!(repo.personal_session().count(active).await.unwrap(), 1);
103+
assert_eq!(repo.personal_session().count(finished).await.unwrap(), 0);
104+
105+
let full_list = repo.personal_session().list(all, pagination).await.unwrap();
106+
assert_eq!(full_list.edges.len(), 1);
107+
assert_eq!(full_list.edges[0].id, session.id);
108+
assert!(full_list.edges[0].is_valid());
109+
let active_list = repo
110+
.personal_session()
111+
.list(active, pagination)
112+
.await
113+
.unwrap();
114+
assert_eq!(active_list.edges.len(), 1);
115+
assert_eq!(active_list.edges[0].id, session.id);
116+
assert!(active_list.edges[0].is_valid());
117+
let finished_list = repo
118+
.personal_session()
119+
.list(finished, pagination)
120+
.await
121+
.unwrap();
122+
assert!(finished_list.edges.is_empty());
120123

121124
// Lookup the session and check it didn't change
122125
let session_lookup = repo
@@ -128,18 +131,9 @@ mod tests {
128131
assert_eq!(session_lookup.id, session.id);
129132
assert_eq!(session_lookup.owner_user_id, admin_user.id);
130133
assert_eq!(session_lookup.actor_user_id, bot_user.id);
134+
assert_eq!(session_lookup.scope, scope);
131135
assert!(session_lookup.is_valid());
132136
assert!(!session_lookup.is_revoked());
133-
assert_eq!(session_lookup.scope, scope);
134-
135-
// TODO
136-
// assert_eq!(list.edges.len(), 1);
137-
// let session_lookup = &list.edges[0].0;
138-
// assert_eq!(session_lookup.id, session.id);
139-
// assert_eq!(session_lookup.user_id, user.id);
140-
// assert_eq!(session.device.as_ref().unwrap().as_str(), device_str);
141-
// assert!(session_lookup.is_valid());
142-
// assert!(!session_lookup.is_finished());
143137

144138
// Revoke the session
145139
let session = repo
@@ -150,29 +144,27 @@ mod tests {
150144
assert!(!session.is_valid());
151145
assert!(session.is_revoked());
152146

153-
// TODO
154-
// assert_eq!(repo.compat_session().count(all).await.unwrap(), 1);
155-
// assert_eq!(repo.compat_session().count(active).await.unwrap(), 0);
156-
// assert_eq!(repo.compat_session().count(finished).await.unwrap(), 1);
157-
158-
// TODO
159-
// let full_list = repo.compat_session().list(all, pagination).await.unwrap();
160-
// assert_eq!(full_list.edges.len(), 1);
161-
// assert_eq!(full_list.edges[0].0.id, session.id);
162-
// let active_list = repo
163-
// .compat_session()
164-
// .list(active, pagination)
165-
// .await
166-
// .unwrap();
167-
// assert!(active_list.edges.is_empty());
168-
// let finished_list = repo
169-
// .compat_session()
170-
// .list(finished, pagination)
171-
// .await
172-
// .unwrap();
173-
// assert_eq!(finished_list.edges.len(), 1);
174-
// assert_eq!(finished_list.edges[0].0.id, session.id);
175-
// assert!(session.is_revoked());
147+
assert_eq!(repo.personal_session().count(all).await.unwrap(), 1);
148+
assert_eq!(repo.personal_session().count(active).await.unwrap(), 0);
149+
assert_eq!(repo.personal_session().count(finished).await.unwrap(), 1);
150+
151+
let full_list = repo.personal_session().list(all, pagination).await.unwrap();
152+
assert_eq!(full_list.edges.len(), 1);
153+
assert_eq!(full_list.edges[0].id, session.id);
154+
let active_list = repo
155+
.personal_session()
156+
.list(active, pagination)
157+
.await
158+
.unwrap();
159+
assert!(active_list.edges.is_empty());
160+
let finished_list = repo
161+
.personal_session()
162+
.list(finished, pagination)
163+
.await
164+
.unwrap();
165+
assert_eq!(finished_list.edges.len(), 1);
166+
assert_eq!(finished_list.edges[0].id, session.id);
167+
assert!(finished_list.edges[0].is_revoked());
176168

177169
// Reload the session and check again
178170
let session_lookup = repo

0 commit comments

Comments
 (0)