From dec181be6e6e77413611a33b67d441ec4b07e9ba Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 29 Dec 2018 05:01:39 -0500 Subject: [PATCH] tests: allow tests to be run from any directory They previously required being run from repository root. --- tests/unit/30_client.bats | 32 ++++++++++++++++---------------- tests/unit/test_helper.bash | 4 ++-- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/tests/unit/30_client.bats b/tests/unit/30_client.bats index 0351cfb08..8c86687fb 100644 --- a/tests/unit/30_client.bats +++ b/tests/unit/30_client.bats @@ -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 .*'" + run /bin/bash -c "${BATS_TEST_DIRNAME}/../../contrib/dokku_client.sh | head -1 | grep -E 'Usage: dokku \[.+\] COMMAND .*'" 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 diff --git a/tests/unit/test_helper.bash b/tests/unit/test_helper.bash index b97e6dc02..bf3a8d7e4 100644 --- a/tests/unit/test_helper.bash +++ b/tests/unit/test_helper.bash @@ -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"