diff --git a/plugins/build-env/pre-build-buildpack b/plugins/build-env/pre-build-buildpack index 3e83c7b43..a3966b962 100755 --- a/plugins/build-env/pre-build-buildpack +++ b/plugins/build-env/pre-build-buildpack @@ -6,8 +6,8 @@ source "$PLUGIN_AVAILABLE_PATH/config/functions" APP="$1"; IMAGE=$(get_app_image_name $APP); BUILD_ENV="" verify_app_name "$APP" -config_get --global CURL_CONNECT_TIMEOUT > /dev/null 2>&1 || config_set --global CURL_CONNECT_TIMEOUT=5 -config_get --global CURL_TIMEOUT > /dev/null 2>&1 || config_set --global CURL_TIMEOUT=30 +[[ -z $(config_get --global CURL_CONNECT_TIMEOUT) ]] && config_set --global CURL_CONNECT_TIMEOUT=5 +[[ -z $(config_get --global CURL_TIMEOUT) ]] && config_set --global CURL_TIMEOUT=30 if [[ -n $(config_export global) ]]; then BUILD_ENV+=$'\n' diff --git a/tests/unit/build-env.bats b/tests/unit/build-env.bats index 0e3c69d90..68e397a55 100644 --- a/tests/unit/build-env.bats +++ b/tests/unit/build-env.bats @@ -15,16 +15,41 @@ teardown() { echo "output: "$output echo "status: "$status assert_success + deploy_app run dokku config $TEST_APP assert_success } -@test "(build-env) failure" { +@test "(build-env) default curl timeouts" { + run dokku config:unset --global CURL_CONNECT_TIMEOUT + echo "output: "$output + echo "status: "$status + assert_success + + run dokku config:unset --global CURL_TIMEOUT + echo "output: "$output + echo "status: "$status + assert_success + + deploy_app + run /bin/bash -c "dokku config:get --global CURL_CONNECT_TIMEOUT | grep 5" + echo "output: "$output + echo "status: "$status + assert_success + + run /bin/bash -c "dokku config:get --global CURL_TIMEOUT | grep 30" + echo "output: "$output + echo "status: "$status + assert_success +} + +@test "(build-env) buildpack failure" { run dokku config:set --no-restart $TEST_APP BUILDPACK_URL='https://github.com/dokku/fake-buildpack' echo "output: "$output echo "status: "$status assert_success + run deploy_app echo "output: "$output echo "status: "$status