Merge pull request #8624 from dokku/8623-expose-certs-add-and-certs-remove-to-plugins-via-triggers-or-sourceable-functions
Expose certs-set and certs-remove plugin triggers
This commit is contained in:
@@ -165,6 +165,44 @@ teardown() {
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "(certs) certs-set plugin trigger" {
|
||||
run_plugn_trigger certs-set "$TEST_APP" "$BATS_TMPDIR/tls/server.crt" "$BATS_TMPDIR/tls/server.key"
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
assert_success
|
||||
[[ -f "$DOKKU_ROOT/$TEST_APP/tls/server.crt" ]]
|
||||
[[ -f "$DOKKU_ROOT/$TEST_APP/tls/server.key" ]]
|
||||
}
|
||||
|
||||
@test "(certs) certs-set plugin trigger missing key file" {
|
||||
run_plugn_trigger certs-set "$TEST_APP" "$BATS_TMPDIR/tls/server.crt" "/nonexistent/server.key"
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
assert_failure
|
||||
assert_output_contains "KEY file specified not found"
|
||||
}
|
||||
|
||||
@test "(certs) certs-remove plugin trigger" {
|
||||
run /bin/bash -c "dokku certs:add $TEST_APP $BATS_TMPDIR/tls/server.crt $BATS_TMPDIR/tls/server.key"
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
assert_success
|
||||
|
||||
run_plugn_trigger certs-remove "$TEST_APP"
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
assert_success
|
||||
[[ ! -d "$DOKKU_ROOT/$TEST_APP/tls" ]]
|
||||
}
|
||||
|
||||
@test "(certs) certs-remove plugin trigger without endpoint" {
|
||||
run_plugn_trigger certs-remove "$TEST_APP"
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
assert_failure
|
||||
assert_output_contains "An app-specific SSL endpoint is not defined"
|
||||
}
|
||||
|
||||
@test "(certs) certs:show" {
|
||||
run /bin/bash -c "dokku certs:show fake-app-name 2>&1"
|
||||
echo "output: $output"
|
||||
|
||||
@@ -228,7 +228,7 @@ destroy_key() {
|
||||
rm -f /tmp/testkey* &>/dev/null || true
|
||||
}
|
||||
|
||||
# Run a plugn trigger with the env vars plugn needs, capturing $output/$status via bats `run`.
|
||||
# Run a plugn trigger via `dokku plugin:trigger`, capturing $output/$status via bats `run`.
|
||||
# Optional VAR=VAL pairs before <trigger> are forwarded as extra env vars on the bash command line.
|
||||
# Usage: run_plugn_trigger [VAR=VAL ...] <trigger> <args...>
|
||||
run_plugn_trigger() {
|
||||
@@ -239,7 +239,7 @@ run_plugn_trigger() {
|
||||
done
|
||||
local TRIGGER="$1"
|
||||
shift
|
||||
run /bin/bash -c "PLUGIN_PATH=$PLUGIN_PATH PLUGIN_CORE_AVAILABLE_PATH=$PLUGIN_CORE_AVAILABLE_PATH DOKKU_LIB_ROOT=$DOKKU_LIB_ROOT${extra_env} plugn trigger $TRIGGER $* < /dev/null"
|
||||
run /bin/bash -c "${extra_env} dokku plugin:trigger $TRIGGER $* < /dev/null"
|
||||
}
|
||||
|
||||
# Run a single plugin's trigger script directly so other plugins' handlers do not fire.
|
||||
|
||||
Reference in New Issue
Block a user