From f09b9609972cf5db905876b4772f07f7c29e4d9e Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sun, 14 Aug 2022 13:45:41 -0400 Subject: [PATCH] tests: add a unit test for the init-process option --- .../bin/scheduler-deploy-process | 2 +- .../bin/scheduler-deploy-process-container | 2 +- tests/unit/scheduler-docker-local.bats | 46 +++++++++++++++++++ 3 files changed, 48 insertions(+), 2 deletions(-) diff --git a/plugins/scheduler-docker-local/bin/scheduler-deploy-process b/plugins/scheduler-docker-local/bin/scheduler-deploy-process index d70154f89..32f86f263 100755 --- a/plugins/scheduler-docker-local/bin/scheduler-deploy-process +++ b/plugins/scheduler-docker-local/bin/scheduler-deploy-process @@ -49,7 +49,7 @@ main() { fi PARALLEL_DEPLOY_COUNT="$(plugn trigger "app-json-process-deploy-parallelism" "$APP" "$PROC_TYPE")" - DOKKU_CHECKS_DISABLED="$DOKKU_CHECKS_DISABLED" parallel --will-cite --halt soon,fail=1 --jobs "$PARALLEL_DEPLOY_COUNT" --ungroup <"$PROCESS_TMP_FILE" + DOKKU_CHECKS_DISABLED="$DOKKU_CHECKS_DISABLED" INJECT_INIT_FLAG="$INJECT_INIT_FLAG" parallel --will-cite --halt soon,fail=1 --jobs "$PARALLEL_DEPLOY_COUNT" --ungroup <"$PROCESS_TMP_FILE" # cleanup when we scale down if [[ "$PROC_COUNT" == 0 ]]; then diff --git a/plugins/scheduler-docker-local/bin/scheduler-deploy-process-container b/plugins/scheduler-docker-local/bin/scheduler-deploy-process-container index bfa442dc6..772ee88c5 100755 --- a/plugins/scheduler-docker-local/bin/scheduler-deploy-process-container +++ b/plugins/scheduler-docker-local/bin/scheduler-deploy-process-container @@ -19,7 +19,7 @@ main() { DOCKER_ARGS+=" --label=com.dokku.process-type=$PROC_TYPE --label=com.dokku.dyno=$DYNO" DOCKER_ARGS+=" --env=DYNO=$DYNO" DOCKER_ARGS+=" --name=$APP.$DYNO.upcoming-$RANDOM" - if [[ "$INJECT_INIT_FLAG" == "false" ]]; then + if [[ "$INJECT_INIT_FLAG" == "true" ]]; then DOCKER_ARGS+=" --init" fi DOCKER_ARGS+=" $DOCKER_RUN_LABEL_ARGS $DOKKU_GLOBAL_RUN_ARGS " diff --git a/tests/unit/scheduler-docker-local.bats b/tests/unit/scheduler-docker-local.bats index 0fbba8dc1..42c906634 100644 --- a/tests/unit/scheduler-docker-local.bats +++ b/tests/unit/scheduler-docker-local.bats @@ -55,3 +55,49 @@ teardown() { assert_output "Host(\`$TEST_APP.dokku.me\`)" assert_success } + +@test "(scheduler-docker-local) init-process" { + run create_app + echo "output: $output" + echo "status: $status" + assert_success + + run deploy_app + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "docker inspect --format '{{.HostConfig.Init}}' $TEST_APP.web.1" + echo "output: $output" + echo "status: $status" + assert_success + assert_output "true" + + run /bin/bash -c "docker exec $TEST_APP.web.1 ps auxf" + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "docker-init" + + run /bin/bash -c "dokku scheduler-docker-local:set $TEST_APP init-process false" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku ps:rebuild $TEST_APP" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "docker inspect --format '{{.HostConfig.Init}}' $TEST_APP.web.1" + echo "output: $output" + echo "status: $status" + assert_success + assert_output "" + + run /bin/bash -c "docker exec $TEST_APP.web.1 ps auxf" + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "docker-init" 0 +}