diff options
Diffstat (limited to 'src/tests/status.rs')
-rw-r--r-- | src/tests/status.rs | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/tests/status.rs b/src/tests/status.rs index fe69d78..1f5bbf7 100644 --- a/src/tests/status.rs +++ b/src/tests/status.rs @@ -24,7 +24,7 @@ fn not_found() { #[test_device(pro)] fn output_pro(model: nitrokey::Model) -> anyhow::Result<()> { let re = regex::Regex::new( - r#"^Status: + r#"^Device #0: model: Pro serial number: 0x[[:xdigit:]]{8} firmware version: v\d+\.\d+ @@ -42,7 +42,7 @@ $"#, #[test_device(storage)] fn output_storage(model: nitrokey::Model) -> anyhow::Result<()> { let re = regex::Regex::new( - r#"^Status: + r#"^Device #0: model: Storage serial number: 0x[[:xdigit:]]{8} firmware version: v\d+\.\d+ @@ -64,3 +64,19 @@ $"#, assert!(re.is_match(&out), out); Ok(()) } + +#[test_device] +fn output_multiple(_model: nitrokey::Model) -> anyhow::Result<()> { + let devices = nitrokey::list_devices()?; + let out = Nitrocli::new().handle(&["status"])?; + for (idx, device) in devices.iter().enumerate() { + assert!(out.contains(&format!("Device #{}:\n", idx)), out); + if let Some(model) = device.model { + assert!(out.contains(&format!("model: {}\n", model)), out); + } + if let Some(sn) = device.serial_number { + assert!(out.contains(&format!("serial number: {}\n", sn)), out); + } + } + Ok(()) +} |