From d68797a1156c5ad228b6b4e30e89ef82d15b167a Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sun, 20 Oct 2019 19:49:28 +0200 Subject: [PATCH] Test imag-mv Signed-off-by: Matthias Beyer --- tests/ui/src/imag_mv.rs | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) 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); + } +} +