tests: allow tests to be run from any directory

They previously required being run from repository root.
This commit is contained in:
Jose Diaz-Gonzalez
2018-12-29 05:01:39 -05:00
parent c20826efa7
commit dec181be6e
2 changed files with 18 additions and 18 deletions

View File

@@ -16,14 +16,14 @@ teardown() {
@test "(client) unconfigured DOKKU_HOST" {
unset DOKKU_HOST
run ./contrib/dokku_client.sh apps
run /bin/bash -c "${BATS_TEST_DIRNAME}/../../contrib/dokku_client.sh apps"
echo "output: $output"
echo "status: $status"
assert_exit_status 20
}
@test "(client) no args should print help" {
run /bin/bash -c "./contrib/dokku_client.sh | head -1 | grep -E 'Usage: dokku \[.+\] COMMAND <app>.*'"
run /bin/bash -c "${BATS_TEST_DIRNAME}/../../contrib/dokku_client.sh | head -1 | grep -E 'Usage: dokku \[.+\] COMMAND <app>.*'"
echo "output: $output"
echo "status: $status"
assert_success
@@ -58,74 +58,74 @@ teardown() {
}
@test "(client) config:set" {
run ./contrib/dokku_client.sh config:set $TEST_APP test_var=true test_var2=\"hello world\"
run ${BATS_TEST_DIRNAME}/../../contrib/dokku_client.sh config:set $TEST_APP test_var=true test_var2=\"hello world\"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "./contrib/dokku_client.sh config:get $TEST_APP test_var2 | grep -q 'hello world'"
run /bin/bash -c "${BATS_TEST_DIRNAME}/../../contrib/dokku_client.sh config:get $TEST_APP test_var2 | grep -q 'hello world'"
echo "output: $output"
echo "status: $status"
assert_success
}
@test "(client) config:unset" {
run ./contrib/dokku_client.sh config:set $TEST_APP test_var=true test_var2=\"hello world\"
run ${BATS_TEST_DIRNAME}/../../contrib/dokku_client.sh config:set $TEST_APP test_var=true test_var2=\"hello world\"
echo "output: $output"
echo "status: $status"
assert_success
run ./contrib/dokku_client.sh config:get $TEST_APP test_var
run /bin/bash -c "${BATS_TEST_DIRNAME}/../../contrib/dokku_client.sh config:get $TEST_APP test_var"
echo "output: $output"
echo "status: $status"
assert_success
run ./contrib/dokku_client.sh config:unset $TEST_APP test_var
run /bin/bash -c "${BATS_TEST_DIRNAME}/../../contrib/dokku_client.sh config:unset $TEST_APP test_var"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "./contrib/dokku_client.sh config:get $TEST_APP test_var | grep test_var"
run /bin/bash -c "${BATS_TEST_DIRNAME}/../../contrib/dokku_client.sh config:get $TEST_APP test_var | grep test_var"
echo "output: $output"
echo "status: $status"
assert_failure
}
@test "(client) domains" {
run /bin/bash -c "./contrib/dokku_client.sh domains:setup $TEST_APP"
run /bin/bash -c "${BATS_TEST_DIRNAME}/../../contrib/dokku_client.sh domains:setup $TEST_APP"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "./contrib/dokku_client.sh domains $TEST_APP | grep -q ${TEST_APP}.dokku.me"
run /bin/bash -c "${BATS_TEST_DIRNAME}/../../contrib/dokku_client.sh domains $TEST_APP | grep -q ${TEST_APP}.dokku.me"
echo "output: $output"
echo "status: $status"
assert_success
}
@test "(client) domains:add" {
run ./contrib/dokku_client.sh domains:add $TEST_APP www.test.app.dokku.me
run /bin/bash -c "${BATS_TEST_DIRNAME}/../../contrib/dokku_client.sh domains:add $TEST_APP www.test.app.dokku.me"
echo "output: $output"
echo "status: $status"
assert_success
run ./contrib/dokku_client.sh domains:add $TEST_APP test.app.dokku.me
run /bin/bash -c "${BATS_TEST_DIRNAME}/../../contrib/dokku_client.sh domains:add $TEST_APP test.app.dokku.me"
echo "output: $output"
echo "status: $status"
assert_success
}
@test "(client) domains:remove" {
run ./contrib/dokku_client.sh domains:add $TEST_APP test.app.dokku.me
run /bin/bash -c "${BATS_TEST_DIRNAME}/../../contrib/dokku_client.sh domains:add $TEST_APP test.app.dokku.me"
echo "output: $output"
echo "status: $status"
assert_success
run ./contrib/dokku_client.sh domains:remove $TEST_APP test.app.dokku.me
run /bin/bash -c "${BATS_TEST_DIRNAME}/../../contrib/dokku_client.sh domains:remove $TEST_APP test.app.dokku.me"
echo "output: $output"
echo "status: $status"
refute_line "test.app.dokku.me"
}
@test "(client) domains:clear" {
run ./contrib/dokku_client.sh domains:add $TEST_APP test.app.dokku.me
run /bin/bash -c "${BATS_TEST_DIRNAME}/../../contrib/dokku_client.sh domains:add $TEST_APP test.app.dokku.me"
echo "output: $output"
echo "status: $status"
assert_success
run ./contrib/dokku_client.sh domains:clear $TEST_APP
run /bin/bash -c "${BATS_TEST_DIRNAME}/../../contrib/dokku_client.sh domains:clear $TEST_APP"
echo "output: $output"
echo "status: $status"
assert_success

View File

@@ -209,7 +209,7 @@ deploy_app() {
local GIT_REMOTE_BRANCH=${GIT_REMOTE_BRANCH:="master"}
local TMP=$(mktemp -d "/tmp/dokku.me.XXXXX")
rmdir "$TMP" && cp -r "./tests/apps/$APP_TYPE" "$TMP"
rmdir "$TMP" && cp -r "${BATS_TEST_DIRNAME}/../../tests/apps/$APP_TYPE" "$TMP"
# shellcheck disable=SC2086
[[ -n "$CUSTOM_TEMPLATE" ]] && $CUSTOM_TEMPLATE $TEST_APP $TMP/$CUSTOM_PATH
@@ -231,7 +231,7 @@ deploy_app() {
setup_client_repo() {
local TMP=$(mktemp -d "/tmp/dokku.me.XXXXX")
rmdir "$TMP" && cp -r ./tests/apps/nodejs-express "$TMP"
rmdir "$TMP" && cp -r "${BATS_TEST_DIRNAME}/../../tests/apps/nodejs-express" "$TMP"
cd "$TMP" || exit 1
git init
git config user.email "robot@example.com"