aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Mueller <deso@posteo.net>2020-07-09 19:01:52 -0700
committerDaniel Mueller <deso@posteo.net>2020-07-09 19:01:52 -0700
commit756dc2ed9d16a3edbfdc4778feb11f0b0c84d897 (patch)
treeb1d9c02a9065236502b639e241733d91b2fe9a94
parentc461a506f6bf3bf73374df289298879ba9d2d125 (diff)
downloadnitrocli-756dc2ed9d16a3edbfdc4778feb11f0b0c84d897.tar.gz
nitrocli-756dc2ed9d16a3edbfdc4778feb11f0b0c84d897.tar.bz2
Remove UnwrapError test trait
This change wraps up the removal of the UnwrapError test trait. This step prepares us for the subsequent removal of the application's global Error enum type, in favor of the usage of anyhow's Error type.
-rw-r--r--src/tests/mod.rs22
-rw-r--r--src/tests/otp.rs11
-rw-r--r--src/tests/pws.rs22
3 files changed, 15 insertions, 40 deletions
diff --git a/src/tests/mod.rs b/src/tests/mod.rs
index 65223ae..878a26f 100644
--- a/src/tests/mod.rs
+++ b/src/tests/mod.rs
@@ -18,7 +18,6 @@
// *************************************************************************
use std::ffi;
-use std::fmt;
use nitrokey_test::test as test_device;
@@ -35,27 +34,6 @@ mod run;
mod status;
mod unencrypted;
-/// A trait simplifying checking for expected errors.
-pub trait UnwrapError {
- /// Unwrap a Error::CommandError variant.
- fn unwrap_cmd_err(self) -> (Option<&'static str>, nitrokey::CommandError);
-}
-
-impl<T> UnwrapError for crate::Result<T>
-where
- T: fmt::Debug,
-{
- fn unwrap_cmd_err(self) -> (Option<&'static str>, nitrokey::CommandError) {
- match self.unwrap_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),
- }
- }
-}
-
struct Nitrocli {
model: Option<nitrokey::Model>,
admin_pin: Option<ffi::OsString>,
diff --git a/src/tests/otp.rs b/src/tests/otp.rs
index 8802d9e..7361688 100644
--- a/src/tests/otp.rs
+++ b/src/tests/otp.rs
@@ -121,12 +121,11 @@ fn clear(model: nitrokey::Model) -> crate::Result<()> {
let _ = ncli.handle(&["otp", "clear", "3"])?;
let res = ncli.handle(&["otp", "get", "3"]);
- assert_eq!(
- res.unwrap_cmd_err(),
- (
- Some("Could not generate OTP"),
- nitrokey::CommandError::SlotNotProgrammed
- )
+ let err = res.unwrap_err().to_string();
+ let expected = format!(
+ "Could not generate OTP: {}",
+ nitrokey::Error::CommandError(nitrokey::CommandError::SlotNotProgrammed)
);
+ assert_eq!(err, expected);
Ok(())
}
diff --git a/src/tests/pws.rs b/src/tests/pws.rs
index 42cb847..7f8107e 100644
--- a/src/tests/pws.rs
+++ b/src/tests/pws.rs
@@ -96,13 +96,12 @@ fn set_reset_get(model: nitrokey::Model) -> crate::Result<()> {
assert_eq!(out, "");
let res = ncli.handle(&["pws", "get", "2"]);
- assert_eq!(
- res.unwrap_cmd_err(),
- (
- Some("Could not access PWS slot"),
- nitrokey::CommandError::SlotNotProgrammed
- )
+ let err = res.unwrap_err().to_string();
+ let expected = format!(
+ "Could not access PWS slot: {}",
+ nitrokey::Error::CommandError(nitrokey::CommandError::SlotNotProgrammed)
);
+ assert_eq!(err, expected);
Ok(())
}
@@ -113,12 +112,11 @@ fn clear(model: nitrokey::Model) -> crate::Result<()> {
let _ = ncli.handle(&["pws", "clear", "10"])?;
let res = ncli.handle(&["pws", "get", "10"]);
- assert_eq!(
- res.unwrap_cmd_err(),
- (
- Some("Could not access PWS slot"),
- nitrokey::CommandError::SlotNotProgrammed
- )
+ let err = res.unwrap_err().to_string();
+ let expected = format!(
+ "Could not access PWS slot: {}",
+ nitrokey::Error::CommandError(nitrokey::CommandError::SlotNotProgrammed)
);
+ assert_eq!(err, expected);
Ok(())
}