diff options
Diffstat (limited to 'nitrocli/src/tests')
-rw-r--r-- | nitrocli/src/tests/mod.rs | 17 | ||||
-rw-r--r-- | nitrocli/src/tests/otp.rs | 4 | ||||
-rw-r--r-- | nitrocli/src/tests/pin.rs | 11 | ||||
-rw-r--r-- | nitrocli/src/tests/pws.rs | 4 |
4 files changed, 29 insertions, 7 deletions
diff --git a/nitrocli/src/tests/mod.rs b/nitrocli/src/tests/mod.rs index c823f52..0e5d8bc 100644 --- a/nitrocli/src/tests/mod.rs +++ b/nitrocli/src/tests/mod.rs @@ -54,6 +54,8 @@ pub trait UnwrapError { fn unwrap_str_err(self) -> String; /// Unwrap a Error::CommandError variant. fn unwrap_cmd_err(self) -> (Option<&'static str>, nitrokey::CommandError); + /// Unwrap a Error::LibraryError variant. + fn unwrap_lib_err(self) -> (Option<&'static str>, nitrokey::LibraryError); } impl<T> UnwrapError for crate::Result<T> @@ -69,7 +71,20 @@ where fn unwrap_cmd_err(self) -> (Option<&'static str>, nitrokey::CommandError) { match self.unwrap_err() { - crate::Error::CommandError(ctx, err) => (ctx, err), + crate::Error::NitrokeyError(ctx, err) => match err { + nitrokey::Error::CommandError(err) => (ctx, err), + err => panic!("Unexpected error variant found: {:?}", err), + }, + err => panic!("Unexpected error variant found: {:?}", err), + } + } + + fn unwrap_lib_err(self) -> (Option<&'static str>, nitrokey::LibraryError) { + match self.unwrap_err() { + crate::Error::NitrokeyError(ctx, err) => match err { + nitrokey::Error::LibraryError(err) => (ctx, err), + err => panic!("Unexpected error variant found: {:?}", err), + }, err => panic!("Unexpected error variant found: {:?}", err), } } diff --git a/nitrocli/src/tests/otp.rs b/nitrocli/src/tests/otp.rs index 531ed5f..2893e80 100644 --- a/nitrocli/src/tests/otp.rs +++ b/nitrocli/src/tests/otp.rs @@ -35,10 +35,10 @@ fn set_invalid_slot(device: nitrokey::DeviceWrapper) { let res = Nitrocli::with_dev(device).handle(&["otp", "set", "100", "name", "1234"]); assert_eq!( - res.unwrap_cmd_err(), + res.unwrap_lib_err(), ( Some("Could not write OTP slot"), - nitrokey::CommandError::InvalidSlot + nitrokey::LibraryError::InvalidSlot ) ); } diff --git a/nitrocli/src/tests/pin.rs b/nitrocli/src/tests/pin.rs index fe61b2d..69e0ff9 100644 --- a/nitrocli/src/tests/pin.rs +++ b/nitrocli/src/tests/pin.rs @@ -25,7 +25,10 @@ use super::*; #[test_device] fn unblock(device: nitrokey::DeviceWrapper) -> crate::Result<()> { let (device, err) = device.authenticate_user("wrong-pin").unwrap_err(); - assert_eq!(err, nitrokey::CommandError::WrongPassword); + match err { + nitrokey::Error::CommandError(err) if err == nitrokey::CommandError::WrongPassword => (), + _ => panic!("Unexpected error variant found: {:?}", err), + } assert!(device.get_user_retry_count() < 3); let model = device.get_model(); @@ -48,7 +51,11 @@ fn set_user(device: nitrokey::DeviceWrapper) -> crate::Result<()> { let (device, err) = device .authenticate_user(NITROKEY_DEFAULT_USER_PIN) .unwrap_err(); - assert_eq!(err, nitrokey::CommandError::WrongPassword); + + match err { + nitrokey::Error::CommandError(err) if err == nitrokey::CommandError::WrongPassword => (), + _ => panic!("Unexpected error variant found: {:?}", err), + } drop(device); // Revert to the default user PIN. diff --git a/nitrocli/src/tests/pws.rs b/nitrocli/src/tests/pws.rs index 5d0f245..9468dcf 100644 --- a/nitrocli/src/tests/pws.rs +++ b/nitrocli/src/tests/pws.rs @@ -24,10 +24,10 @@ fn set_invalid_slot(device: nitrokey::DeviceWrapper) { let res = Nitrocli::with_dev(device).handle(&["pws", "set", "100", "name", "login", "1234"]); assert_eq!( - res.unwrap_cmd_err(), + res.unwrap_lib_err(), ( Some("Could not write PWS slot"), - nitrokey::CommandError::InvalidSlot + nitrokey::LibraryError::InvalidSlot ) ); } |