aboutsummaryrefslogtreecommitdiff
path: root/nitrocli/src/tests/otp.rs
diff options
context:
space:
mode:
Diffstat (limited to 'nitrocli/src/tests/otp.rs')
-rw-r--r--nitrocli/src/tests/otp.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/nitrocli/src/tests/otp.rs b/nitrocli/src/tests/otp.rs
index 39ddf29..531ed5f 100644
--- a/nitrocli/src/tests/otp.rs
+++ b/nitrocli/src/tests/otp.rs
@@ -19,6 +19,8 @@
use super::*;
+use crate::args;
+
#[test_device]
fn set_invalid_slot_raw(device: nitrokey::DeviceWrapper) {
let (rc, out, err) = Nitrocli::with_dev(device).run(&["otp", "set", "100", "name", "1234"]);
@@ -97,6 +99,20 @@ fn set_get_totp(device: nitrokey::DeviceWrapper) -> crate::Result<()> {
}
#[test_device]
+fn set_totp_uneven_chars(device: nitrokey::DeviceWrapper) -> crate::Result<()> {
+ let secrets = [
+ (args::OtpSecretFormat::Hex, "123"),
+ (args::OtpSecretFormat::Base32, "FBILDWWGA2"),
+ ];
+
+ let mut ncli = Nitrocli::with_dev(device);
+ for (format, secret) in &secrets {
+ let _ = ncli.handle(&["otp", "set", "-f", format.as_ref(), "3", "foobar", &secret])?;
+ }
+ Ok(())
+}
+
+#[test_device]
fn clear(device: nitrokey::DeviceWrapper) -> crate::Result<()> {
let mut ncli = Nitrocli::with_dev(device);
let _ = ncli.handle(&["otp", "set", "3", "hotp-test", "abcdef"])?;