diff --git a/plugins/domains/commands b/plugins/domains/commands index 282d1eb65b7..5de0f426df7 100755 --- a/plugins/domains/commands +++ b/plugins/domains/commands @@ -71,8 +71,8 @@ case "$1" in verify_app_name "$2" APP="$2" - if [[ -z $3 ]]; then - echo "Usage: dokku $1 $APP DOMAIN" + if [[ -z "${*:3}" ]]; then + echo "Usage: dokku $1 $APP DOMAIN [DOMAIN ...]" echo "Must specify DOMAIN." exit 1 fi @@ -82,12 +82,17 @@ case "$1" in exit 1 fi + shift 2 dokku domains:setup $APP - echo "$3" >> "$DOKKU_ROOT/$APP/VHOST" + for DOMAIN in "$@";do + echo "$DOMAIN" >> "$DOKKU_ROOT/$APP/VHOST" + done # we need to restart the app to make sure we're binding to the appropriate network interface - dokku ps:restart $APP + dokku nginx:build-config $APP pluginhook post-domains-update $APP - dokku_log_info1 "Added $3 to $APP" + for DOMAIN in "$@";do + dokku_log_info1 "Added $DOMAIN to $APP" + done ;; @@ -108,16 +113,21 @@ case "$1" in verify_app_name "$2" APP="$2" - if [[ -z $3 ]]; then - echo "Usage: dokku $1 $2 DOMAIN" + if [[ -z "${*:3}" ]]; then + echo "Usage: dokku $1 $APP DOMAIN [DOMAIN ...]" echo "Must specify DOMAIN." exit 1 fi + shift 2 dokku domains:setup $APP - sed -i "/^$3$/d" "$DOKKU_ROOT/$APP/VHOST" + for DOMAIN in "$@";do + sed -i "/^$DOMAIN$/d" "$DOKKU_ROOT/$APP/VHOST" + done pluginhook post-domains-update $APP - dokku_log_info1 "Removed $3 from $APP" + for DOMAIN in "$@";do + dokku_log_info1 "Removed $DOMAIN from $APP" + done ;; diff --git a/tests/unit/core_ports.bats b/tests/unit/core_ports.bats index f0076b381cc..0bee19df1ec 100644 --- a/tests/unit/core_ports.bats +++ b/tests/unit/core_ports.bats @@ -97,7 +97,12 @@ teardown() { echo "status: "$status assert_success - CONTAINER_ID=$(docker ps --no-trunc| grep dokku/$TEST_APP | grep "start web" | awk '{ print $1 }') + run dokku ps:restart $TEST_APP + echo "output: "$output + echo "status: "$status + assert_success + + CONTAINER_ID=$(docker ps --no-trunc| grep dokku/$TEST_APP | grep "start web" | awk '{ print $1 }' | head -1) run bash -c "docker port $CONTAINER_ID | sed 's/[0-9.]*://' | egrep '[0-9]*'" echo "output: "$output echo "status: "$status diff --git a/tests/unit/domains.bats b/tests/unit/domains.bats index bdc52994eab..de07060e3dd 100644 --- a/tests/unit/domains.bats +++ b/tests/unit/domains.bats @@ -28,6 +28,13 @@ teardown() { assert_success } +@test "(domains) domains:add (multiple)" { + run dokku domains:add $TEST_APP www.test.app.dokku.me test.app.dokku.me + echo "output: "$output + echo "status: "$status + assert_success +} + @test "(domains) domains:remove" { run dokku domains:add $TEST_APP test.app.dokku.me echo "output: "$output