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!
67 lines
1.3 KiB
Bash
Executable File
67 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
export DOKKU_LIB_ROOT="/var/lib/dokku"
|
|
source "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")/config"
|
|
|
|
flunk() {
|
|
{ if [ "$#" -eq 0 ]; then cat -
|
|
else echo "$*"
|
|
fi
|
|
}
|
|
return 1
|
|
}
|
|
|
|
assert_equal() {
|
|
if [ "$1" != "$2" ]; then
|
|
{ echo "expected: $1"
|
|
echo "actual: $2"
|
|
} | flunk
|
|
fi
|
|
}
|
|
|
|
# ShellCheck doesn't know about $status from Bats
|
|
# shellcheck disable=SC2154
|
|
assert_exit_status() {
|
|
assert_equal "$1" "$status"
|
|
}
|
|
|
|
# ShellCheck doesn't know about $status from Bats
|
|
# shellcheck disable=SC2154
|
|
# shellcheck disable=SC2120
|
|
assert_success() {
|
|
if [ "$status" -ne 0 ]; then
|
|
flunk "command failed with exit status $status"
|
|
elif [ "$#" -gt 0 ]; then
|
|
assert_output "$1"
|
|
fi
|
|
}
|
|
|
|
assert_failure() {
|
|
if [[ "$status" -eq 0 ]]; then
|
|
flunk "expected failed exit status"
|
|
elif [[ "$#" -gt 0 ]]; then
|
|
assert_output "$1"
|
|
fi
|
|
}
|
|
|
|
assert_exists() {
|
|
if [ ! -f "$1" ]; then
|
|
flunk "expected file to exist: $1"
|
|
fi
|
|
}
|
|
|
|
assert_contains() {
|
|
if [[ "$1" != *"$2"* ]]; then
|
|
flunk "expected $2 to be in: $1"
|
|
fi
|
|
}
|
|
|
|
# ShellCheck doesn't know about $output from Bats
|
|
# shellcheck disable=SC2154
|
|
assert_output() {
|
|
local expected
|
|
if [ $# -eq 0 ]; then expected="$(cat -)"
|
|
else expected="$1"
|
|
fi
|
|
assert_equal "$expected" "$output"
|
|
}
|