summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xtests/setup.sh2
-rwxr-xr-xtests/t0001-sanity-checks.sh4
-rwxr-xr-xtests/t0010-generate-tests.sh6
-rwxr-xr-xtests/t0020-show-tests.sh8
-rwxr-xr-xtests/t0050-mv-tests.sh22
-rwxr-xr-xtests/t0060-rm-tests.sh8
-rwxr-xr-xtests/t0100-insert-tests.sh6
-rwxr-xr-xtests/t0200-edit-tests.sh8
-rwxr-xr-xtests/t0300-reencryption.sh40
-rwxr-xr-xtests/t0400-grep.sh14
-rwxr-xr-xtests/t0500-find.sh16
11 files changed, 66 insertions, 68 deletions
diff --git a/tests/setup.sh b/tests/setup.sh
index 67c489f..8198874 100755
--- a/tests/setup.sh
+++ b/tests/setup.sh
@@ -29,14 +29,12 @@ if [[ ! -e $PASS ]]; then
echo "Could not find password-store.sh"
exit 1
fi
-alias pass="command \"$PASS\""
# Note: the assumption is the test key is unencrypted.
export GNUPGHOME="$TEST_HOME/gnupg/"
chmod 700 "$GNUPGHOME"
GPG="gpg"
which gpg2 &>/dev/null && GPG="gpg2"
-alias gpg="command $GPG"
# We don't want to use any running agent.
# We want an agent to appear to pass to be running.
diff --git a/tests/t0001-sanity-checks.sh b/tests/t0001-sanity-checks.sh
index 17d270a..68379e3 100755
--- a/tests/t0001-sanity-checks.sh
+++ b/tests/t0001-sanity-checks.sh
@@ -4,11 +4,11 @@ test_description='Sanity checks'
. ./setup.sh
test_expect_success 'Make sure we can run pass' '
- pass --help | grep "pass: the standard unix password manager"
+ "$PASS" --help | grep "pass: the standard unix password manager"
'
test_expect_success 'Make sure we can initialize our test store' '
- pass init $KEY1 &&
+ "$PASS" init $KEY1 &&
[[ -e "$PASSWORD_STORE_DIR/.gpg-id" ]] &&
[[ $(cat "$PASSWORD_STORE_DIR/.gpg-id") == "$KEY1" ]]
'
diff --git a/tests/t0010-generate-tests.sh b/tests/t0010-generate-tests.sh
index fea9d44..735f70d 100755
--- a/tests/t0010-generate-tests.sh
+++ b/tests/t0010-generate-tests.sh
@@ -4,9 +4,9 @@ test_description='Test generate'
. ./setup.sh
test_expect_success 'Test "generate" command' '
- pass init $KEY1 &&
- pass generate cred 19 &&
- [[ $(pass show cred | wc -m) -eq 20 ]]
+ "$PASS" init $KEY1 &&
+ "$PASS" generate cred 19 &&
+ [[ $("$PASS" show cred | wc -m) -eq 20 ]]
'
test_done
diff --git a/tests/t0020-show-tests.sh b/tests/t0020-show-tests.sh
index ede7cd1..f08c71d 100755
--- a/tests/t0020-show-tests.sh
+++ b/tests/t0020-show-tests.sh
@@ -4,13 +4,13 @@ test_description='Test show'
. ./setup.sh
test_expect_success 'Test "show" command' '
- pass init $KEY1 &&
- pass generate cred1 20 &&
- pass show cred1
+ "$PASS" init $KEY1 &&
+ "$PASS" generate cred1 20 &&
+ "$PASS" show cred1
'
test_expect_success 'Test "show" of nonexistant password' '
- test_must_fail pass show cred2
+ test_must_fail "$PASS" show cred2
'
test_done
diff --git a/tests/t0050-mv-tests.sh b/tests/t0050-mv-tests.sh
index 9362666..7110d7e 100755
--- a/tests/t0050-mv-tests.sh
+++ b/tests/t0050-mv-tests.sh
@@ -6,41 +6,41 @@ test_description='Test mv command'
INITIAL_PASSWORD="bla bla bla will we make it!!"
test_expect_success 'Basic move command' '
- pass init $KEY1 &&
- pass git init &&
- pass insert -e cred1 <<<"$INITIAL_PASSWORD" &&
- pass mv cred1 cred2 &&
+ "$PASS" init $KEY1 &&
+ "$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/ &&
+ "$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 &&
+ "$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 &&
+ "$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/ &&
+ "$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 &&
+ "$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" ]]
+ [[ $("$PASS" show cred) == "$INITIAL_PASSWORD" ]]
'
test_expect_success 'Git is consistent' '
diff --git a/tests/t0060-rm-tests.sh b/tests/t0060-rm-tests.sh
index f434794..d53d7da 100755
--- a/tests/t0060-rm-tests.sh
+++ b/tests/t0060-rm-tests.sh
@@ -4,14 +4,14 @@ test_description='Test rm'
. ./setup.sh
test_expect_success 'Test "rm" command' '
- pass init $KEY1 &&
- pass generate cred1 43 &&
- echo "y" | pass rm cred1 &&
+ "$PASS" init $KEY1 &&
+ "$PASS" generate cred1 43 &&
+ echo "y" | "$PASS" rm cred1 &&
[[ ! -e $PASSWORD_STORE_DIR/cred1.gpg ]]
'
test_expect_success 'Test "rm" of non-existent password' '
- test_must_fail pass rm does-not-exist
+ test_must_fail "$PASS" rm does-not-exist
'
test_done
diff --git a/tests/t0100-insert-tests.sh b/tests/t0100-insert-tests.sh
index 5820e45..6194ceb 100755
--- a/tests/t0100-insert-tests.sh
+++ b/tests/t0100-insert-tests.sh
@@ -4,9 +4,9 @@ test_description='Test insert'
. ./setup.sh
test_expect_success 'Test "insert" command' '
- pass init $KEY1 &&
- echo "Hello world" | pass insert -e cred1 &&
- [[ $(pass show cred1) == "Hello world" ]]
+ "$PASS" init $KEY1 &&
+ echo "Hello world" | "$PASS" insert -e cred1 &&
+ [[ $("$PASS" show cred1) == "Hello world" ]]
'
test_done
diff --git a/tests/t0200-edit-tests.sh b/tests/t0200-edit-tests.sh
index dfc0d10..58e3f31 100755
--- a/tests/t0200-edit-tests.sh
+++ b/tests/t0200-edit-tests.sh
@@ -4,12 +4,12 @@ test_description='Test edit'
. ./setup.sh
test_expect_success 'Test "edit" command' '
- pass init $KEY1 &&
- pass generate cred1 90 &&
+ "$PASS" init $KEY1 &&
+ "$PASS" generate cred1 90 &&
export FAKE_EDITOR_PASSWORD="big fat fake password" &&
export EDITOR="$TEST_HOME/fake-editor-change-password.sh" &&
- pass edit cred1 &&
- [[ $(pass show cred1) == "$FAKE_EDITOR_PASSWORD" ]]
+ "$PASS" edit cred1 &&
+ [[ $("$PASS" show cred1) == "$FAKE_EDITOR_PASSWORD" ]]
'
test_done
diff --git a/tests/t0300-reencryption.sh b/tests/t0300-reencryption.sh
index 0d71476..bbc4b18 100755
--- a/tests/t0300-reencryption.sh
+++ b/tests/t0300-reencryption.sh
@@ -6,13 +6,13 @@ test_description='Reencryption consistency'
INITIAL_PASSWORD="will this password live? a big question indeed..."
canonicalize_gpg_keys() {
- gpg --list-keys --keyid-format long "$@" | sed -n 's/sub *.*\/\([A-F0-9]\{16\}\) .*/\1/p' | sort -u
+ $GPG --list-keys --keyid-format long "$@" | sed -n 's/sub *.*\/\([A-F0-9]\{16\}\) .*/\1/p' | sort -u
}
gpg_keys_from_encrypted_file() {
- gpg -v --list-only --keyid-format long "$1" 2>&1 | cut -d ' ' -f 5 | sort -u
+ $GPG -v --list-only --keyid-format long "$1" 2>&1 | cut -d ' ' -f 5 | sort -u
}
gpg_keys_from_group() {
- local output="$(gpg --list-config --with-colons | sed -n "s/^cfg:group:$1:\\(.*\\)/\\1/p" | head -n 1)"
+ local output="$($GPG --list-config --with-colons | sed -n "s/^cfg:group:$1:\\(.*\\)/\\1/p" | head -n 1)"
local saved_ifs="$IFS"
IFS=";"
local keys=( $output )
@@ -21,75 +21,75 @@ gpg_keys_from_group() {
}
test_expect_success 'Setup initial key and git' '
- pass init $KEY1 && pass git init
+ "$PASS" init $KEY1 && "$PASS" git init
'
test_expect_success 'Root key encryption' '
- pass insert -e folder/cred1 <<<"$INITIAL_PASSWORD" &&
+ "$PASS" insert -e folder/cred1 <<<"$INITIAL_PASSWORD" &&
[[ $(canonicalize_gpg_keys "$KEY1") == "$(gpg_keys_from_encrypted_file "$PASSWORD_STORE_DIR/folder/cred1.gpg")" ]]
'
test_expect_success 'Reencryption root single key' '
- pass init $KEY2 &&
+ "$PASS" init $KEY2 &&
[[ $(canonicalize_gpg_keys "$KEY2") == "$(gpg_keys_from_encrypted_file "$PASSWORD_STORE_DIR/folder/cred1.gpg")" ]]
'
test_expect_success 'Reencryption root multiple key' '
- pass init $KEY2 $KEY3 $KEY1 &&
+ "$PASS" init $KEY2 $KEY3 $KEY1 &&
[[ $(canonicalize_gpg_keys $KEY2 $KEY3 $KEY1) == "$(gpg_keys_from_encrypted_file "$PASSWORD_STORE_DIR/folder/cred1.gpg")" ]]
'
test_expect_success 'Reencryption root multiple key with string' '
- pass init $KEY2 $KEY3 $KEY1 "pass test key 4" &&
+ "$PASS" init $KEY2 $KEY3 $KEY1 "pass test key 4" &&
[[ $(canonicalize_gpg_keys $KEY2 $KEY3 $KEY1 $KEY4) == "$(gpg_keys_from_encrypted_file "$PASSWORD_STORE_DIR/folder/cred1.gpg")" ]]
'
test_expect_success 'Reencryption root group' '
- pass init group1 &&
+ "$PASS" init group1 &&
[[ $(gpg_keys_from_group group1) == "$(gpg_keys_from_encrypted_file "$PASSWORD_STORE_DIR/folder/cred1.gpg")" ]]
'
test_expect_success 'Reencryption root group with spaces' '
- pass init "big group" &&
+ "$PASS" init "big group" &&
[[ $(gpg_keys_from_group "big group") == "$(gpg_keys_from_encrypted_file "$PASSWORD_STORE_DIR/folder/cred1.gpg")" ]]
'
test_expect_success 'Reencryption root group with spaces and other keys' '
- pass init "big group" $KEY3 $KEY1 $KEY2 &&
+ "$PASS" init "big group" $KEY3 $KEY1 $KEY2 &&
[[ $(canonicalize_gpg_keys $KEY3 $KEY1 $KEY2 $(gpg_keys_from_group "big group")) == "$(gpg_keys_from_encrypted_file "$PASSWORD_STORE_DIR/folder/cred1.gpg")" ]]
'
test_expect_success 'Reencryption root group and other keys' '
- pass init group2 $KEY3 $KEY1 $KEY2 &&
+ "$PASS" init group2 $KEY3 $KEY1 $KEY2 &&
[[ $(canonicalize_gpg_keys $KEY3 $KEY1 $KEY2 $(gpg_keys_from_group group2)) == "$(gpg_keys_from_encrypted_file "$PASSWORD_STORE_DIR/folder/cred1.gpg")" ]]
'
test_expect_success 'Reencryption root group to identical individual with no file change' '
oldfile="$SHARNESS_TRASH_DIRECTORY/$RANDOM.$RANDOM.$RANDOM.$RANDOM.$RANDOM" &&
- pass init group1 &&
+ "$PASS" init group1 &&
cp "$PASSWORD_STORE_DIR/folder/cred1.gpg" "$oldfile" &&
- pass init $KEY4 $KEY2 &&
+ "$PASS" init $KEY4 $KEY2 &&
test_cmp "$PASSWORD_STORE_DIR/folder/cred1.gpg" "$oldfile"
'
test_expect_success 'Reencryption subfolder multiple keys, copy' '
- pass init -p anotherfolder $KEY3 $KEY1 &&
- pass cp folder/cred1 anotherfolder/ &&
+ "$PASS" init -p anotherfolder $KEY3 $KEY1 &&
+ "$PASS" cp folder/cred1 anotherfolder/ &&
[[ $(canonicalize_gpg_keys $KEY1 $KEY3) == "$(gpg_keys_from_encrypted_file "$PASSWORD_STORE_DIR/anotherfolder/cred1.gpg")" ]]
'
test_expect_success 'Reencryption subfolder multiple keys, move, deinit' '
- pass init -p anotherfolder2 $KEY3 $KEY4 $KEY2 &&
- pass mv -f anotherfolder anotherfolder2/ &&
+ "$PASS" init -p anotherfolder2 $KEY3 $KEY4 $KEY2 &&
+ "$PASS" mv -f anotherfolder anotherfolder2/ &&
[[ $(canonicalize_gpg_keys $KEY1 $KEY3) == "$(gpg_keys_from_encrypted_file "$PASSWORD_STORE_DIR/anotherfolder2/anotherfolder/cred1.gpg")" ]] &&
- pass init -p anotherfolder2/anotherfolder "" &&
+ "$PASS" init -p anotherfolder2/anotherfolder "" &&
[[ $(canonicalize_gpg_keys $KEY3 $KEY4 $KEY2) == "$(gpg_keys_from_encrypted_file "$PASSWORD_STORE_DIR/anotherfolder2/anotherfolder/cred1.gpg")" ]]
'
#TODO: test with more varieties of move and copy!
test_expect_success 'Password lived through all transformations' '
- [[ $(pass show anotherfolder2/anotherfolder/cred1) == "$INITIAL_PASSWORD" ]]
+ [[ $("$PASS" show anotherfolder2/anotherfolder/cred1) == "$INITIAL_PASSWORD" ]]
'
test_expect_success 'Git picked up all changes throughout' '
diff --git a/tests/t0400-grep.sh b/tests/t0400-grep.sh
index 0c55cf8..808a720 100755
--- a/tests/t0400-grep.sh
+++ b/tests/t0400-grep.sh
@@ -4,13 +4,13 @@ test_description='Grep check'
. ./setup.sh
test_expect_success 'Make sure grep prints normal lines' '
- pass init $KEY1 &&
- pass insert -e blah1 <<<"hello" &&
- pass insert -e blah2 <<<"my name is" &&
- pass insert -e folder/blah3 <<<"I hate computers" &&
- pass insert -e blah4 <<<"me too!" &&
- pass insert -e folder/where/blah5 <<<"They are hell" &&
- results="$(pass grep hell)" &&
+ "$PASS" init $KEY1 &&
+ "$PASS" insert -e blah1 <<<"hello" &&
+ "$PASS" insert -e blah2 <<<"my name is" &&
+ "$PASS" insert -e folder/blah3 <<<"I hate computers" &&
+ "$PASS" insert -e blah4 <<<"me too!" &&
+ "$PASS" insert -e folder/where/blah5 <<<"They are hell" &&
+ results="$("$PASS" grep hell)" &&
[[ $(wc -l <<<"$results") -eq 4 ]] &&
grep -q blah5 <<<"$results" &&
grep -q blah1 <<<"$results" &&
diff --git a/tests/t0500-find.sh b/tests/t0500-find.sh
index df47ceb..2167836 100755
--- a/tests/t0500-find.sh
+++ b/tests/t0500-find.sh
@@ -4,14 +4,14 @@ test_description='Find check'
. ./setup.sh
test_expect_success 'Make sure find resolves correct files' '
- pass init $KEY1 &&
- pass generate Something/neat 19 &&
- pass generate Anotherthing/okay 38 &&
- pass generate Fish 12 &&
- pass generate Fishthings 122 &&
- pass generate Fishies/stuff 21 &&
- pass generate Fishies/otherstuff 1234 &&
- [[ $(pass find fish | sed "s/^[ \`|-]*//g;s/\\x1B\\[[0-9;]*[a-zA-Z]//g" | tr "\\n" -) == "Search Terms: fish-Fish-Fishies-otherstuff-stuff-Fishthings-" ]]
+ "$PASS" init $KEY1 &&
+ "$PASS" generate Something/neat 19 &&
+ "$PASS" generate Anotherthing/okay 38 &&
+ "$PASS" generate Fish 12 &&
+ "$PASS" generate Fishthings 122 &&
+ "$PASS" generate Fishies/stuff 21 &&
+ "$PASS" generate Fishies/otherstuff 1234 &&
+ [[ $("$PASS" find fish | sed "s/^[ \`|-]*//g;s/\\x1B\\[[0-9;]*[a-zA-Z]//g" | tr "\\n" -) == "Search Terms: fish-Fish-Fishies-otherstuff-stuff-Fishthings-" ]]
'
test_done