From 322dd2246f7328a4a5d12792241300b222abc9f2 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Tue, 16 Apr 2019 22:02:24 -0400 Subject: [PATCH] fix: ensure the .buildpacks file exists before writing to it --- .../src/triggers/post-extract/post-extract.go | 2 +- tests/unit/30_buildpacks.bats | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/plugins/buildpacks/src/triggers/post-extract/post-extract.go b/plugins/buildpacks/src/triggers/post-extract/post-extract.go index 67ec7bf85..495a34855 100644 --- a/plugins/buildpacks/src/triggers/post-extract/post-extract.go +++ b/plugins/buildpacks/src/triggers/post-extract/post-extract.go @@ -26,7 +26,7 @@ func main() { } buildpacksPath := path.Join(tmpWorkDir, ".buildpacks") - file, err := os.OpenFile(buildpacksPath, os.O_RDWR|os.O_TRUNC, 0600) + file, err := os.OpenFile(buildpacksPath, os.O_RDWR|os.O_TRUNC|os.O_CREATE, 0600) if err != nil { common.LogFail(fmt.Sprintf("Error writing .buildpacks file: %s", err.Error())) return diff --git a/tests/unit/30_buildpacks.bats b/tests/unit/30_buildpacks.bats index 687da8f41..ae955ac69 100644 --- a/tests/unit/30_buildpacks.bats +++ b/tests/unit/30_buildpacks.bats @@ -209,3 +209,25 @@ teardown() { echo "status: $status" assert_output_not_exists } + +@test "(buildpacks) buildpacks deploy" { + destroy_app + echo "output: $output" + echo "status: $status" + assert_success + + create_app + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku buildpacks:set $TEST_APP https://github.com/heroku/heroku-buildpack-nodejs" + echo "output: $output" + echo "status: $status" + assert_success + + run deploy_app + echo "output: $output" + echo "status: $status" + assert_success +}