summaryrefslogtreecommitdiff
path: root/tests/t0050-mv-tests.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/t0050-mv-tests.sh')
-rwxr-xr-xtests/t0050-mv-tests.sh44
1 files changed, 39 insertions, 5 deletions
diff --git a/tests/t0050-mv-tests.sh b/tests/t0050-mv-tests.sh
index 1b1fef2..9362666 100755
--- a/tests/t0050-mv-tests.sh
+++ b/tests/t0050-mv-tests.sh
@@ -1,16 +1,50 @@
#!/bin/bash
-test_description='Test mv'
+test_description='Test mv command'
. ./setup.sh
-TEST_CRED="test_cred"
-TEST_CRED_NEW="test_cred_new"
+INITIAL_PASSWORD="bla bla bla will we make it!!"
-test_expect_success 'Test "mv" command' '
+test_expect_success 'Basic move command' '
pass init $KEY1 &&
- pass generate cred1 39 &&
+ pass git init &&
+ pass insert -e cred1 <<<"$INITIAL_PASSWORD" &&
pass mv cred1 cred2 &&
[[ -e $PASSWORD_STORE_DIR/cred2.gpg && ! -e $PASSWORD_STORE_DIR/cred1.gpg ]]
'
+test_expect_success 'Directory creation' '
+ pass mv cred2 directory/ &&
+ [[ -d $PASSWORD_STORE_DIR/directory && -e $PASSWORD_STORE_DIR/directory/cred2.gpg ]]
+'
+
+test_expect_success 'Directory creation with file rename and empty directory removal' '
+ pass mv directory/cred2 newdirectory/cred &&
+ [[ -d $PASSWORD_STORE_DIR/newdirectory && -e $PASSWORD_STORE_DIR/newdirectory/cred.gpg && ! -e $PASSWORD_STORE_DIR/directory ]]
+'
+
+test_expect_success 'Directory rename' '
+ pass mv newdirectory anotherdirectory &&
+ [[ -d $PASSWORD_STORE_DIR/anotherdirectory && -e $PASSWORD_STORE_DIR/anotherdirectory/cred.gpg && ! -e $PASSWORD_STORE_DIR/newdirectory ]]
+'
+
+test_expect_success 'Directory move into new directory' '
+ pass mv anotherdirectory newdirectory/ &&
+ [[ -d $PASSWORD_STORE_DIR/newdirectory/anotherdirectory && -e $PASSWORD_STORE_DIR/newdirectory/anotherdirectory/cred.gpg && ! -e $PASSWORD_STORE_DIR/anotherdirectory ]]
+'
+
+test_expect_success 'Multi-directory creation and multi-directory empty removal' '
+ pass mv newdirectory/anotherdirectory/cred new1/new2/new3/new4/thecred &&
+ pass mv new1/new2/new3/new4/thecred cred &&
+ [[ ! -d $PASSWORD_STORE_DIR/newdirectory/anotherdirectory && ! -d $PASSWORD_STORE_DIR/new1/new2/new3/new4 && -e $PASSWORD_STORE_DIR/cred.gpg ]]
+'
+
+test_expect_success 'Password made it until the end' '
+ [[ $(pass show cred) == "$INITIAL_PASSWORD" ]]
+'
+
+test_expect_success 'Git is consistent' '
+ [[ -z $(git status --porcelain 2>&1) ]]
+'
+
test_done