Mercurial > crates > nonstick
diff testharness/src/bin/testharness.rs @ 166:2f5913131295
Separate flag/action flags into flags and action.
This also individualizes the type of flag for each PAM function,
so that you can only call a function with the right flags and values.
author | Paul Fisher <paul@pfish.zone> |
---|---|
date | Tue, 15 Jul 2025 00:32:24 -0400 |
parents | a75a66cb4181 |
children | 0cabe7b94a4f |
line wrap: on
line diff
--- a/testharness/src/bin/testharness.rs Mon Jul 14 18:56:55 2025 -0400 +++ b/testharness/src/bin/testharness.rs Tue Jul 15 00:32:24 2025 -0400 @@ -3,7 +3,9 @@ use nonstick::conv::Exchange; use nonstick::items::Items; use nonstick::libpam::TransactionBuilder; -use nonstick::{Conversation, ErrorCode, Flags, LibPamTransaction, PamShared, Transaction}; +use nonstick::{ + AuthnFlags, AuthtokFlags, Conversation, ErrorCode, LibPamTransaction, PamShared, Transaction, +}; use std::cell::Cell; use std::ffi::OsString; use std::os::unix::ffi::OsStrExt; @@ -93,7 +95,7 @@ ..Default::default() }; let mut tx = harness.start(); - let auth = tx.authenticate(Flags::empty()); + let auth = tx.authenticate(AuthnFlags::empty()); assert_eq!(auth, Err(ErrorCode::UserUnknown)); } @@ -103,19 +105,20 @@ ..Default::default() }; let mut tx = harness.start(); - let auth = tx.authenticate(Flags::empty()); + let auth = tx.authenticate(AuthnFlags::empty()); assert_eq!(auth, Err(ErrorCode::AuthenticationError)); } fn test_correct() { let harness = TestHarness::default(); let mut tx = harness.start(); - tx.authenticate(Flags::empty()).unwrap(); + tx.authenticate(AuthnFlags::empty()).unwrap(); assert_eq!(tx.items().user().unwrap().unwrap(), "updated-in-process"); - let result = tx.account_management(Flags::empty()); + let result = tx.account_management(AuthnFlags::empty()); assert_eq!(result, Err(ErrorCode::NewAuthTokRequired)); harness.changing_password.set(true); - let change = tx.change_authtok(Flags::CHANGE_EXPIRED_AUTHTOK); + let change = tx.change_authtok(AuthtokFlags::CHANGE_EXPIRED_AUTHTOK); assert_eq!(change, Err(ErrorCode::TryAgain)); - tx.change_authtok(Flags::CHANGE_EXPIRED_AUTHTOK).unwrap(); + tx.change_authtok(AuthtokFlags::CHANGE_EXPIRED_AUTHTOK) + .unwrap(); }