@@ -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