Suppress mysqldump password error.

This commit is contained in:
Youri van der Lans
2017-03-14 13:35:07 +01:00
parent ac17961a65
commit db956c3bbf
2 changed files with 11 additions and 5 deletions

View File

@@ -63,7 +63,9 @@ service_export() {
local PASSWORD="$(cat "$SERVICE_ROOT/PASSWORD")"
[[ -n $SSH_TTY ]] && stty -opost
docker exec "$SERVICE_NAME" mysqldump --user=mysql --password="$PASSWORD" "$SERVICE"
docker exec "$SERVICE_NAME" bash -c "printf '[client]\npassword=$PASSWORD\n' > /root/credentials.cnf"
docker exec "$SERVICE_NAME" mysqldump --defaults-extra-file=/root/credentials.cnf --user=mysql "$SERVICE"
docker exec "$SERVICE_NAME" rm /root/credentials.cnf
status=$?
[[ -n $SSH_TTY ]] && stty opost
exit $status

View File

@@ -24,17 +24,21 @@ teardown() {
@test "($PLUGIN_COMMAND_PREFIX:export) success with SSH_TTY" {
export ECHO_DOCKER_COMMAND="true"
export SSH_TTY=`tty`
run dokku "$PLUGIN_COMMAND_PREFIX:export" l
password="$(cat "$PLUGIN_DATA_ROOT/l/PASSWORD")"
run dokku "$PLUGIN_COMMAND_PREFIX:export" l
assert_exit_status 0
assert_output "docker exec dokku.mysql.l mysqldump --user=mysql --password=$password l"
assert_output "docker exec dokku.mysql.l bash -c printf '[client]\npassword=$password\n' > /root/credentials.cnf
docker exec dokku.mysql.l mysqldump --defaults-extra-file=/root/credentials.cnf --user=mysql l
docker exec dokku.mysql.l rm /root/credentials.cnf"
}
@test "($PLUGIN_COMMAND_PREFIX:export) success without SSH_TTY" {
export ECHO_DOCKER_COMMAND="true"
unset SSH_TTY
run dokku "$PLUGIN_COMMAND_PREFIX:export" l
password="$(cat "$PLUGIN_DATA_ROOT/l/PASSWORD")"
run dokku "$PLUGIN_COMMAND_PREFIX:export" l
assert_exit_status 0
assert_output "docker exec dokku.mysql.l mysqldump --user=mysql --password=$password l"
assert_output "docker exec dokku.mysql.l bash -c printf '[client]\npassword=$password\n' > /root/credentials.cnf
docker exec dokku.mysql.l mysqldump --defaults-extra-file=/root/credentials.cnf --user=mysql l
docker exec dokku.mysql.l rm /root/credentials.cnf"
}