diff --git a/common-functions b/common-functions index 2e1ff12..c30a364 100755 --- a/common-functions +++ b/common-functions @@ -370,6 +370,7 @@ service_link() { else dokku docker-options:add "$APP" build,deploy,run "--link $SERVICE_NAME:$SERVICE_ALIAS" fi + [[ -n "$SERVICE_QUERYSTRING" ]] && SERVICE_URL="${SERVICE_URL}?${SERVICE_QUERYSTRING}" config_set "$APP" "${ALIAS}_URL=$SERVICE_URL" } @@ -460,7 +461,7 @@ service_parse_args() { ;; p) export SERVICE_PASSWORD=$OPTARG ;; - q) export SERVICE_QUERYSTRING=$OPTARG + q) export SERVICE_QUERYSTRING=${OPTARG#"?"} ;; r) export SERVICE_ROOT_PASSWORD=$OPTARG ;; diff --git a/subcommands/clone b/subcommands/clone index 1901dfa..a9ead6c 100755 --- a/subcommands/clone +++ b/subcommands/clone @@ -16,7 +16,7 @@ service-clone-cmd() { #F -r|--root-password PASSWORD, override the root-level service password declare desc="create container then copy data from into " local cmd="$PLUGIN_COMMAND_PREFIX:clone" argv=("$@"); [[ ${argv[0]} == "$cmd" ]] && shift 1 - declare SERVICE="$1" NEW_SERVICE="$2" + declare SERVICE="$1" NEW_SERVICE="$2" CLONE_FLAGS_LIST="${@:3}" is_implemented_command "$cmd" || dokku_log_fail "Not yet implemented" [[ -z "$SERVICE" ]] && dokku_log_fail "Please specify a name for the service" diff --git a/subcommands/link b/subcommands/link index 7dc893f..add93e5 100755 --- a/subcommands/link +++ b/subcommands/link @@ -41,13 +41,15 @@ service-link-cmd() { #A app, app to run command against declare desc="link the $PLUGIN_SERVICE service to the app" local cmd="$PLUGIN_COMMAND_PREFIX:link" argv=("$@"); [[ ${argv[0]} == "$cmd" ]] && shift 1 - declare SERVICE="$1" APP="$2" + declare SERVICE="$1" APP="$2" LINK_FLAGS_LIST="${@:3}" APP=${APP:="$DOKKU_APP_NAME"} [[ -z "$SERVICE" ]] && dokku_log_fail "Please specify a name for the service" [[ -z "$APP" ]] && dokku_log_fail "Please specify an app to run the command on" verify_app_name "$APP" verify_service_name "$SERVICE" + + service_parse_args "${@:3}" service_link "$SERVICE" "$APP" } diff --git a/tests/service_link.bats b/tests/service_link.bats index 4831142..278592c 100755 --- a/tests/service_link.bats +++ b/tests/service_link.bats @@ -68,3 +68,10 @@ teardown() { assert_contains "$url" "mongodb2://l:$password@dokku-mongo-l:27017/l" dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app } + +@test "($PLUGIN_COMMAND_PREFIX:link) adds a querystring" { + dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app --querystring "pool=5" + url=$(dokku config:get my_app MONGO_URL) + assert_contains "$url" "?pool=4" + dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app +}