git-secret/tests/test_hide_continue.bats
Josh Rabinowitz 4a3877b486
WIP: Force mode for hide and reveal (#263)
* -F (force even if gpg fails) option for hide and reveal
* allow 'reveal' to decrypt a subset of files.
* update and regen man pages
* man pages update and improvements
* text about why all files should be hidden at once
* add _warn() and _warn_or_abort()
* tests for -F option
* glob source .sh files in Makefile better
* add comment about issue #238. cleanup error msg.
* test exact case in #253
* disable gnupg doc building on ubuntu-rolling
2018-10-10 21:21:58 -04:00

51 lines
1.2 KiB
Bash

#!/usr/bin/env bats
load _test_base
FILE_TO_HIDE="$TEST_DEFAULT_FILENAME"
FILE_TO_HIDE2="$TEST_SECOND_FILENAME"
FILE_CONTENTS="hidden content юникод"
function setup {
install_fixture_key "$TEST_DEFAULT_USER"
set_state_initial
set_state_git
set_state_secret_init
set_state_secret_tell "$TEST_DEFAULT_USER"
set_state_secret_add "$FILE_TO_HIDE" "$FILE_CONTENTS"
set_state_secret_add "$FILE_TO_HIDE2" "$FILE_CONTENTS"
}
function teardown {
rm "$FILE_TO_HIDE"
rm "$FILE_TO_HIDE2"
uninstall_fixture_key "$TEST_DEFAULT_USER"
unset_current_state
}
@test "run 'hide -F' with missing input file" {
mv "$FILE_TO_HIDE" "$FILE_TO_HIDE.was" # move the first file out of the way
run git secret hide -F
#echo "# output of 'git secret hide -F' is: $output" >&3
# Command must execute normally:
[ "$status" -eq 0 ]
# secret file for missing file should not be created:
local encrypted_file=$(_get_encrypted_filename "$FILE_TO_HIDE")
[ ! -f "$encrypted_file" ]
# this secret file should be created:
local encrypted_file2=$(_get_encrypted_filename "$FILE_TO_HIDE2")
[ -f "$encrypted_file2" ]
# put back first file so teardown() succeeds
mv "$FILE_TO_HIDE.was" "$FILE_TO_HIDE"
}