From 9d387fd66696935dd89f2a2a49fc755f037a7352 Mon Sep 17 00:00:00 2001 From: Michael Hobbs Date: Sun, 17 Jul 2016 15:56:55 -0700 Subject: [PATCH] add ps:restart-policy tests --- tests/unit/10_ps-dockerfile.bats | 17 -------- tests/unit/10_ps-general.bats | 72 ++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 17 deletions(-) create mode 100644 tests/unit/10_ps-general.bats diff --git a/tests/unit/10_ps-dockerfile.bats b/tests/unit/10_ps-dockerfile.bats index 8d158e3d8..7627b7e75 100644 --- a/tests/unit/10_ps-dockerfile.bats +++ b/tests/unit/10_ps-dockerfile.bats @@ -224,20 +224,3 @@ teardown() { done } -@test "(ps:scale) procfile commands extraction" { - source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions" - source "$PLUGIN_CORE_AVAILABLE_PATH/ps/functions" - cat < "$DOKKU_ROOT/$TEST_APP/DOKKU_PROCFILE" -web: node web.js -worker: node worker.js -EOF - run get_cmd_from_procfile "$TEST_APP" web - echo "output: "$output - echo "status: "$status - assert_output "node web.js" - - run get_cmd_from_procfile "$TEST_APP" worker - echo "output: "$output - echo "status: "$status - assert_output "node worker.js" -} diff --git a/tests/unit/10_ps-general.bats b/tests/unit/10_ps-general.bats new file mode 100644 index 000000000..251882dc5 --- /dev/null +++ b/tests/unit/10_ps-general.bats @@ -0,0 +1,72 @@ +#!/usr/bin/env bats + +load test_helper + +setup() { + create_app +} + +teardown() { + destroy_app +} + +@test "(ps:scale) procfile commands extraction" { + source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions" + source "$PLUGIN_CORE_AVAILABLE_PATH/ps/functions" + cat < "$DOKKU_ROOT/$TEST_APP/DOKKU_PROCFILE" +web: node web.js +worker: node worker.js +EOF + run get_cmd_from_procfile "$TEST_APP" web + echo "output: "$output + echo "status: "$status + assert_output "node web.js" + + run get_cmd_from_procfile "$TEST_APP" worker + echo "output: "$output + echo "status: "$status + assert_output "node worker.js" +} + +@test "(ps:restart-policy) default policy" { + run bash -c "dokku --quiet ps:restart-policy $TEST_APP" + echo "output: "$output + echo "status: "$status + assert_output "on-failure:10" +} + + +@test "(ps:restart-policy) ps:set-restart-policy, ps:restart-policy" { + for policy in no unless-stopped always on-failure on-failure:20; do + run bash -c "dokku ps:set-restart-policy $TEST_APP $policy" + echo "output: "$output + echo "status: "$status + assert_success + + run bash -c "dokku --quiet ps:restart-policy $TEST_APP" + echo "output: "$output + echo "status: "$status + assert_output "$policy" + done +} + +@test "(ps:restart-policy) deployed policy" { + test_restart_policy="on-failure:20" + run bash -c "dokku ps:set-restart-policy $TEST_APP $test_restart_policy" + echo "output: "$output + echo "status: "$status + assert_success + + run bash -c "dokku --quiet ps:restart-policy $TEST_APP" + echo "output: "$output + echo "status: "$status + assert_output "$test_restart_policy" + + deploy_app dockerfile + + CID=$(< $DOKKU_ROOT/$TEST_APP/CONTAINER.web.1) + run bash -c "docker inspect -f '{{ .HostConfig.RestartPolicy.Name }}:{{ .HostConfig.RestartPolicy.MaximumRetryCount }}' $CID" + echo "output: "$output + echo "status: "$status + assert_output "$test_restart_policy" +}