From 78f926456a07047c34dc20b97fe04e55ba443528 Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Sat, 12 Jan 2019 17:37:21 +0000 Subject: Add export_firmware method to Storage The export_firmware method writes the firmware of the Nitrokey Storage to the unencrypted storage. We only test that the command succeeds as mounting the unencrypted storage and accessing the file is out of scope for the tests. --- tests/device.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'tests') diff --git a/tests/device.rs b/tests/device.rs index 9985e7a..e40ae12 100644 --- a/tests/device.rs +++ b/tests/device.rs @@ -437,3 +437,21 @@ fn get_storage_status(device: Storage) { assert!(status.serial_number_sd_card > 0); assert!(status.serial_number_smart_card > 0); } + +#[test_device] +fn export_firmware(device: Storage) { + assert_eq!( + Err(CommandError::WrongPassword), + device.export_firmware("someadminpn") + ); + assert_eq!(Ok(()), device.export_firmware(ADMIN_PASSWORD)); + assert_eq!( + Ok(()), + device.set_unencrypted_volume_mode(ADMIN_PASSWORD, VolumeMode::ReadWrite) + ); + assert_eq!(Ok(()), device.export_firmware(ADMIN_PASSWORD)); + assert_eq!( + Ok(()), + device.set_unencrypted_volume_mode(ADMIN_PASSWORD, VolumeMode::ReadOnly) + ); +} -- cgit v1.2.3