gardesk/garcard / e0d107c

Browse files

Test auth callback completion signaling

Authored by mfwolffe <wolffemf@dukes.jmu.edu>
SHA
e0d107c4bbace374e75601c2181effe5997c2304
Parents
a29641d
Tree
bcda1e6

1 changed file

StatusFile+-
M garcard/src/agent.rs 33 0
garcard/src/agent.rsmodified
@@ -951,6 +951,39 @@ mod tests {
951951
         assert_eq!(auth_state.summary().queued_requests, 0);
952952
     }
953953
 
954
+    #[test]
955
+    fn runtime_wait_for_completion_returns_recorded_outcome() {
956
+        let auth_state = Arc::new(AuthState::default());
957
+        let runtime = Arc::new(PolkitRuntime::new_without_worker(Arc::clone(&auth_state)));
958
+        runtime
959
+            .begin_authentication(fake_request("cookie-1"))
960
+            .expect("begin");
961
+
962
+        runtime.complete_request("cookie-1", HelperOutcome::Authorized);
963
+
964
+        let outcome = runtime
965
+            .wait_for_completion("cookie-1")
966
+            .expect("wait for completion");
967
+        assert_eq!(outcome, HelperOutcome::Authorized);
968
+    }
969
+
970
+    #[test]
971
+    fn runtime_cancel_records_canceled_outcome() {
972
+        let auth_state = Arc::new(AuthState::default());
973
+        let runtime = Arc::new(PolkitRuntime::new_without_worker(Arc::clone(&auth_state)));
974
+        runtime
975
+            .begin_authentication(fake_request("cookie-1"))
976
+            .expect("begin");
977
+
978
+        let canceled = runtime.cancel_authentication("cookie-1").expect("cancel");
979
+        assert!(canceled);
980
+
981
+        let outcome = runtime
982
+            .wait_for_completion("cookie-1")
983
+            .expect("wait for completion");
984
+        assert_eq!(outcome, HelperOutcome::Canceled);
985
+    }
986
+
954987
     #[test]
955988
     fn resolve_identity_username_uses_uid_detail() {
956989
         let mut details = HashMap::new();