return $lastexit
}
+exists_config_file()
+{
+ local config_file="$1"
+
+ [ -f "$config_file" ] \
+ || errlog "file $config_file not found" \
+ || return $?
+}
+
main()
{
+ local CONFIG_FILE=${CONFIG_FILE:="config.yaml"}
echo "⭐ START: backup"
command -v yq > /dev/null \
command -v ssh > /dev/null \
|| errlog "command ssh not found" \
|| return $?
+ exists_config_file "$CONFIG_FILE" \
+ || return $?
}
-[ "$TESTMODE" == "ON" ] || return 0
+[ "$TESTMODE" == "ON" ] && return 0
main "$@"
\ No newline at end of file
setup() {
bats_load_library 'bats-support'
bats_load_library 'bats-assert'
- export TESTMODE=ON
+ export TESTMODE="ON"
source src/backup
+ exists_config_file() {
+ return 0
+ }
}
teardown() {
assert_line --index 0 "⭐ START: backup"
assert_line --index 1 "❌ ERROR: command ssh not found"
}
+
+@test "failure config.yaml not found" {
+ exists_config_file() {
+ errlog "file config.yaml not found"
+ return 1
+ }
+
+ run main
+
+ assert_line --index 0 "⭐ START: backup"
+ assert_line --index 1 "❌ ERROR: file config.yaml not found"
+}