diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2019-10-20 19:49:28 +0200 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2019-11-03 11:30:33 +0100 |
commit | d68797a1156c5ad228b6b4e30e89ef82d15b167a (patch) | |
tree | cd974ebeaaeee887918884557edfcc46312a9567 | |
parent | a8107ae6e07338fd829b89cf998ab3056559e6fe (diff) |
Test imag-mv
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r-- | tests/ui/src/imag_mv.rs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/ui/src/imag_mv.rs b/tests/ui/src/imag_mv.rs index 987eadc5..91dd78b0 100644 --- a/tests/ui/src/imag_mv.rs +++ b/tests/ui/src/imag_mv.rs @@ -17,3 +17,44 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA // +use std::process::Command; + +use assert_fs::fixture::TempDir; +use assert_cmd::prelude::*; + + +pub fn binary(tempdir: &TempDir) -> Command { + crate::imag::binary(tempdir, "imag-mv") +} + +pub fn call(tmpdir: &TempDir, src: &str, dst: &str) { + let mut binary = binary(tmpdir); + binary.stdin(std::process::Stdio::inherit()); + binary.arg("--ignore-ids"); + binary.arg(src); + binary.arg(dst); + + debug!("Command = {:?}", binary); + + binary.assert().success(); +} + +#[test] +fn test_after_moving_entry_is_moved() { + crate::setup_logging(); + let imag_home = crate::imag::make_temphome(); + crate::imag_init::call(&imag_home); + crate::imag_create::call(&imag_home, &["test"]); + + call(&imag_home, "test", "moved"); + { + let entry_path = crate::imag::store_path(&imag_home, &["moved"]); + assert!(entry_path.exists(), "Entry was not created: {:?}", entry_path); + assert!(entry_path.is_file() , "Entry is not a file: {:?}", entry_path); + } + { + let entry_path = crate::imag::store_path(&imag_home, &["test"]); + assert!(!entry_path.exists(), "Entry still exists: {:?}", entry_path); + } +} + |