From e4d1b3a165ddcbeb7f502fb3525fb50f6529f110 Mon Sep 17 00:00:00 2001 From: Tim Byrne Date: Sun, 14 Aug 2016 15:39:20 -0500 Subject: [PATCH] Unit tests for alternate gpg program (#19) --- test/002_unit_gpg_program.bats | 67 ++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 test/002_unit_gpg_program.bats diff --git a/test/002_unit_gpg_program.bats b/test/002_unit_gpg_program.bats new file mode 100644 index 0000000..3dc29be --- /dev/null +++ b/test/002_unit_gpg_program.bats @@ -0,0 +1,67 @@ +load common +T_YADM_CONFIG=; # populated by load_fixtures +load_fixtures +status=;output=; # populated by bats run() + +setup() { + destroy_tmp + make_parents "$T_YADM_CONFIG" +} + +teardown() { + destroy_tmp +} + +function configuration_test() { + # shellcheck source=/dev/null + YADM_TEST=1 source "$T_YADM" + # shellcheck disable=SC2034 + YADM_CONFIG="$T_YADM_CONFIG" + status=0 + { output=$( require_gpg ) && require_gpg; } || { + status=$? + true + } + + echo -e "STATUS:$status\nGPG_PROGRAM:$GPG_PROGRAM\nOUTPUT:$output" + +} + +@test "Default gpg program" { + echo " + Default gpg program should be 'gpg' + " + + configuration_test + + [ "$status" == 0 ] + [ "$GPG_PROGRAM" = "gpg" ] +} + +@test "Override gpg program (valid program)" { + echo " + Override gpg using yadm.gpg-program + Program should be 'cat' + " + + git config --file="$T_YADM_CONFIG" "yadm.gpg-program" "cat" + + configuration_test + + [ "$status" == 0 ] + [ "$GPG_PROGRAM" = "cat" ] +} + +@test "Override gpg program (invalid program)" { + echo " + Override gpg using yadm.gpg-program + Program should be 'badprogram' + " + + git config --file="$T_YADM_CONFIG" "yadm.gpg-program" "badprogram" + + configuration_test + + [ "$status" == 1 ] + [[ "$output" =~ badprogram ]] +}