aboutsummaryrefslogtreecommitdiff
path: root/nitrocli/src/tests/storage.rs
diff options
context:
space:
mode:
authorDaniel Mueller <deso@posteo.net>2019-01-20 13:56:48 -0800
committerDaniel Mueller <deso@posteo.net>2019-01-20 13:56:48 -0800
commit37f7800766fe12af43d0cdba13aea9545cbe7755 (patch)
treeea621deaf425db10494cb8af59ac3a8806c52e8b /nitrocli/src/tests/storage.rs
parentc3f1761ae147e562ec3565c7ba8a9cb1834759c2 (diff)
downloadnitrocli-37f7800766fe12af43d0cdba13aea9545cbe7755.tar.gz
nitrocli-37f7800766fe12af43d0cdba13aea9545cbe7755.tar.bz2
Add test for storage hidden subcommand
This change adds a test for the creation, opening, and closing of a hidden subvolume. In order to support that in a non-interactive fashion, we introduce and honor the NITROCLI_PASSWORD environment variable, that prevents an interactive password query.
Diffstat (limited to 'nitrocli/src/tests/storage.rs')
-rw-r--r--nitrocli/src/tests/storage.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/nitrocli/src/tests/storage.rs b/nitrocli/src/tests/storage.rs
index d017f34..be933ca 100644
--- a/nitrocli/src/tests/storage.rs
+++ b/nitrocli/src/tests/storage.rs
@@ -91,3 +91,27 @@ fn encrypted_open_close(device: nitrokey::Storage) -> crate::Result<()> {
Ok(())
}
+
+#[test_device]
+fn hidden_create_open_close(device: nitrokey::Storage) -> crate::Result<()> {
+ let mut ncli = Nitrocli::with_dev(device);
+ let out = ncli.handle(&["storage", "hidden", "create", "0", "50", "100"])?;
+ assert!(out.is_empty());
+
+ let out = ncli.handle(&["storage", "hidden", "open"])?;
+ assert!(out.is_empty());
+
+ let device = nitrokey::Storage::connect()?;
+ assert!(!device.get_status()?.encrypted_volume.active);
+ assert!(device.get_status()?.hidden_volume.active);
+ drop(device);
+
+ let out = ncli.handle(&["storage", "hidden", "close"])?;
+ assert!(out.is_empty());
+
+ let device = nitrokey::Storage::connect()?;
+ assert!(!device.get_status()?.encrypted_volume.active);
+ assert!(!device.get_status()?.hidden_volume.active);
+
+ Ok(())
+}