aboutsummaryrefslogtreecommitdiff
path: root/tests/device.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/device.rs')
-rw-r--r--tests/device.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/device.rs b/tests/device.rs
index 306b33f..969a7df 100644
--- a/tests/device.rs
+++ b/tests/device.rs
@@ -402,6 +402,36 @@ fn lock(device: Storage) {
}
#[test_device]
+fn set_encrypted_volume_mode(device: Storage) {
+ // This test case does not check the device status as the command only works with firmware
+ // version 0.49. For later versions, it does not do anything and always returns Ok(()).
+
+ assert_ok!(
+ (),
+ device.set_encrypted_volume_mode(ADMIN_PASSWORD, VolumeMode::ReadOnly)
+ );
+
+ // TODO: re-enable once the password is checked in the firmware
+ // assert_cmd_err!(
+ // CommandError::WrongPassword,
+ // device.set_encrypted_volume_mode(USER_PASSWORD, VolumeMode::ReadOnly)
+ // );
+
+ assert_ok!(
+ (),
+ device.set_encrypted_volume_mode(ADMIN_PASSWORD, VolumeMode::ReadOnly)
+ );
+ assert_ok!(
+ (),
+ device.set_encrypted_volume_mode(ADMIN_PASSWORD, VolumeMode::ReadWrite)
+ );
+ assert_ok!(
+ (),
+ device.set_encrypted_volume_mode(ADMIN_PASSWORD, VolumeMode::ReadOnly)
+ );
+}
+
+#[test_device]
fn set_unencrypted_volume_mode(device: Storage) {
fn assert_mode(device: &Storage, mode: VolumeMode) {
let status = unwrap_ok!(device.get_status());