feat: Real docker-based testing

This pull request switches testing to use an actual docker daemon, vs mocking everything out.

It may also catch actual breaking issues in our tests, which is great!
This commit is contained in:
Jose Diaz-Gonzalez
2019-03-18 14:44:27 -04:00
parent 2d953ece5a
commit 9b8fabc2e7
36 changed files with 400 additions and 331 deletions

View File

@@ -2,13 +2,11 @@
load test_helper
setup() {
export ECHO_DOCKER_COMMAND="false"
dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2
dokku "$PLUGIN_COMMAND_PREFIX:create" l
}
teardown() {
export ECHO_DOCKER_COMMAND="false"
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l
}
@test "($PLUGIN_COMMAND_PREFIX:export) error when there are no arguments" {
@@ -22,19 +20,17 @@ 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")"
echo "output: $output"
echo "status: $status"
assert_exit_status 0
assert_output "docker exec dokku.mongo.l bash -c mongodump -d l -u \"l\" -p \"$password\" --authenticationDatabase \"l\" --quiet --gzip --archive 2>/dev/null"
}
@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")"
echo "output: $output"
echo "status: $status"
assert_exit_status 0
assert_output "docker exec dokku.mongo.l bash -c mongodump -d l -u \"l\" -p \"$password\" --authenticationDatabase \"l\" --quiet --gzip --archive 2>/dev/null"
}