From ca88f2bdce1f3f7744b42fd837cf33028a676bd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guitaut?= Date: Thu, 10 Sep 2015 11:57:24 +0200 Subject: [PATCH] Add tests for every implemented command --- .gitignore | 2 ++ tests/bin/docker | 21 ++++++++++++++++++++ tests/bin/pg_dump | 2 -- tests/bin/psql | 2 -- tests/service.bats | 28 -------------------------- tests/service_alias.bats | 32 ++++++++++++++++++++++++++++++ tests/service_connect.bats | 29 +++++++++++++++++++++++++++ tests/service_create.bats | 12 ++++++++++++ tests/service_destroy.bats | 27 +++++++++++++++++++++++++ tests/service_export.bats | 30 ++++++++++++++++++++++++++++ tests/service_expose.bats | 30 ++++++++++++++++++++++++++++ tests/service_info.bats | 26 +++++++++++++++++++++++++ tests/service_link.bats | 38 ++++++++++++++++++++++++++++++++++++ tests/service_list.bats | 28 ++++++++++++++++++++++++++ tests/service_logs.bats | 34 ++++++++++++++++++++++++++++++++ tests/service_restart.bats | 26 +++++++++++++++++++++++++ tests/service_start.bats | 26 +++++++++++++++++++++++++ tests/service_stop.bats | 26 +++++++++++++++++++++++++ tests/service_unexpose.bats | 28 ++++++++++++++++++++++++++ tests/service_unlink.bats | 39 +++++++++++++++++++++++++++++++++++++ tests/test_helper.bash | 3 ++- 21 files changed, 456 insertions(+), 33 deletions(-) create mode 100644 .gitignore delete mode 100755 tests/bin/pg_dump delete mode 100755 tests/bin/psql delete mode 100644 tests/service.bats create mode 100755 tests/service_alias.bats create mode 100755 tests/service_connect.bats create mode 100755 tests/service_create.bats create mode 100755 tests/service_destroy.bats create mode 100755 tests/service_export.bats create mode 100755 tests/service_expose.bats create mode 100755 tests/service_info.bats create mode 100755 tests/service_link.bats create mode 100755 tests/service_list.bats create mode 100755 tests/service_logs.bats create mode 100755 tests/service_restart.bats create mode 100755 tests/service_start.bats create mode 100755 tests/service_stop.bats create mode 100755 tests/service_unexpose.bats create mode 100755 tests/service_unlink.bats diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c604a48 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +tests/dokku +tests/fixtures diff --git a/tests/bin/docker b/tests/bin/docker index 87eeee5..d029c1e 100755 --- a/tests/bin/docker +++ b/tests/bin/docker @@ -1,4 +1,13 @@ #!/usr/bin/env bash +# shellcheck source=../../config +# shellcheck disable=SC1091 +source "$(dirname "$0")/../../config" + +if [[ $ECHO_DOCKER_COMMAND == "true" ]]; then + echo "$(basename "$0") $*" + exit 0 +fi + case "$1" in stop) echo "testid" @@ -42,6 +51,15 @@ case "$1" in exit 0 fi + if [[ $@ =~ \{\{\.State\..*\}\} ]]; then + if [[ $@ =~ \{\{\.State\.Running\}\} ]]; then + echo "true" + else + echo "false" + fi + exit 0 + fi + # running echo "true" ;; @@ -61,6 +79,9 @@ case "$1" in pull) exit 0 ;; + logs) + echo "$PLUGIN_SERVICE $PLUGIN_IMAGE_VERSION" + ;; *) exit "$DOKKU_NOT_IMPLEMENTED_EXIT" ;; diff --git a/tests/bin/pg_dump b/tests/bin/pg_dump deleted file mode 100755 index 742e13d..0000000 --- a/tests/bin/pg_dump +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -exit 0 diff --git a/tests/bin/psql b/tests/bin/psql deleted file mode 100755 index 742e13d..0000000 --- a/tests/bin/psql +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -exit 0 diff --git a/tests/service.bats b/tests/service.bats deleted file mode 100644 index 03c13d5..0000000 --- a/tests/service.bats +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env bats -load test_helper - -@test "(service) dokku" { - dokku $PLUGIN_COMMAND_PREFIX:create l - assert_success - - dokku $PLUGIN_COMMAND_PREFIX:info l - assert_success - - dokku $PLUGIN_COMMAND_PREFIX:stop l - assert_success - - dokku $PLUGIN_COMMAND_PREFIX:stop l - assert_success - - dokku $PLUGIN_COMMAND_PREFIX:expose l - assert_success - - dokku $PLUGIN_COMMAND_PREFIX:restart l - assert_success - - dokku $PLUGIN_COMMAND_PREFIX:info l - assert_success - - dokku --force $PLUGIN_COMMAND_PREFIX:destroy l - assert_success -} diff --git a/tests/service_alias.bats b/tests/service_alias.bats new file mode 100755 index 0000000..570f469 --- /dev/null +++ b/tests/service_alias.bats @@ -0,0 +1,32 @@ +#!/usr/bin/env bats +load test_helper + +setup() { + dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2 +} + +teardown() { + dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2 +} + +@test "($PLUGIN_COMMAND_PREFIX:alias) error when there are no arguments" { + run dokku "$PLUGIN_COMMAND_PREFIX:alias" + assert_contains "${lines[*]}" "Please specify a name for the service" +} + +@test "($PLUGIN_COMMAND_PREFIX:alias) error when alias is missing" { + run dokku "$PLUGIN_COMMAND_PREFIX:alias" l + assert_contains "${lines[*]}" "Please specify an alias for the service" +} + +@test "($PLUGIN_COMMAND_PREFIX:alias) error when service does not exist" { + run dokku "$PLUGIN_COMMAND_PREFIX:alias" not_existing_service MY_ALIAS + assert_contains "${lines[*]}" "service not_existing_service does not exist" +} + +@test "($PLUGIN_COMMAND_PREFIX:alias) success" { + run dokku "$PLUGIN_COMMAND_PREFIX:alias" l MY_ALIAS + new_alias=$(cat "$PLUGIN_DATA_ROOT/l/ALIAS") + [[ $new_alias == "MY_ALIAS" ]] +} + diff --git a/tests/service_connect.bats b/tests/service_connect.bats new file mode 100755 index 0000000..af12662 --- /dev/null +++ b/tests/service_connect.bats @@ -0,0 +1,29 @@ +#!/usr/bin/env bats +load test_helper + +setup() { + export ECHO_DOCKER_COMMAND="false" + dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2 +} + +teardown() { + export ECHO_DOCKER_COMMAND="false" + dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2 +} + +@test "($PLUGIN_COMMAND_PREFIX:connect) error when there are no arguments" { + run dokku "$PLUGIN_COMMAND_PREFIX:connect" + assert_contains "${lines[*]}" "Please specify a name for the service" +} + +@test "($PLUGIN_COMMAND_PREFIX:connect) error when service does not exist" { + run dokku "$PLUGIN_COMMAND_PREFIX:connect" not_existing_service + assert_contains "${lines[*]}" "service not_existing_service does not exist" +} + +@test "($PLUGIN_COMMAND_PREFIX:connect) success" { + export ECHO_DOCKER_COMMAND="true" + run dokku "$PLUGIN_COMMAND_PREFIX:connect" l + assert_output 'docker exec -it dokku.postgres.l psql -h localhost -U postgres l' +} + diff --git a/tests/service_create.bats b/tests/service_create.bats new file mode 100755 index 0000000..7ecb87b --- /dev/null +++ b/tests/service_create.bats @@ -0,0 +1,12 @@ +#!/usr/bin/env bats +load test_helper + +@test "($PLUGIN_COMMAND_PREFIX:create) success" { + run dokku "$PLUGIN_COMMAND_PREFIX:create" l + assert_contains "${lines[*]}" "container created: l" +} + +@test "($PLUGIN_COMMAND_PREFIX:create) error when there are no arguments" { + run dokku "$PLUGIN_COMMAND_PREFIX:create" + assert_contains "${lines[*]}" "Please specify a name for the service" +} diff --git a/tests/service_destroy.bats b/tests/service_destroy.bats new file mode 100755 index 0000000..4c1fc94 --- /dev/null +++ b/tests/service_destroy.bats @@ -0,0 +1,27 @@ +#!/usr/bin/env bats +load test_helper + +@test "($PLUGIN_COMMAND_PREFIX:destroy) success with --force" { + dokku "$PLUGIN_COMMAND_PREFIX:create" l + run dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l + assert_contains "${lines[*]}" "container deleted: l" +} + +@test "($PLUGIN_COMMAND_PREFIX:destroy) error when there are no arguments" { + run dokku "$PLUGIN_COMMAND_PREFIX:destroy" + assert_contains "${lines[*]}" "Please specify a name for the service" +} + +@test "($PLUGIN_COMMAND_PREFIX:destroy) error when container does not exist" { + run dokku "$PLUGIN_COMMAND_PREFIX:destroy" non_existing_container + assert_contains "${lines[*]}" "service non_existing_container does not exist" +} + +@test "($PLUGIN_COMMAND_PREFIX:destroy) error when container is linked to an app" { + dokku "$PLUGIN_COMMAND_PREFIX:create" l + dokku apps:create app + dokku "$PLUGIN_COMMAND_PREFIX:link" l app + run dokku "$PLUGIN_COMMAND_PREFIX:destroy" l + assert_contains "${lines[*]}" "Cannot delete linked service" + rm "$DOKKU_ROOT/app" -rf +} diff --git a/tests/service_export.bats b/tests/service_export.bats new file mode 100755 index 0000000..c77e59f --- /dev/null +++ b/tests/service_export.bats @@ -0,0 +1,30 @@ +#!/usr/bin/env bats +load test_helper + +setup() { + export ECHO_DOCKER_COMMAND="false" + dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2 +} + +teardown() { + export ECHO_DOCKER_COMMAND="false" + dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2 +} + +@test "($PLUGIN_COMMAND_PREFIX:export) error when there are no arguments" { + run dokku "$PLUGIN_COMMAND_PREFIX:export" + assert_contains "${lines[*]}" "Please specify a name for the service" +} + +@test "($PLUGIN_COMMAND_PREFIX:export) error when service does not exist" { + run dokku "$PLUGIN_COMMAND_PREFIX:export" not_existing_service + assert_contains "${lines[*]}" "service not_existing_service does not exist" +} + +@test "($PLUGIN_COMMAND_PREFIX:export) success" { + export ECHO_DOCKER_COMMAND="true" + run dokku "$PLUGIN_COMMAND_PREFIX:export" l + password="$(cat "$PLUGIN_DATA_ROOT/l/PASSWORD")" + assert_output "docker exec dokku.postgres.l env PGPASSWORD=$password pg_dump -Fc --no-acl --no-owner -h localhost -U postgres -w l" +} + diff --git a/tests/service_expose.bats b/tests/service_expose.bats new file mode 100755 index 0000000..e15f6b6 --- /dev/null +++ b/tests/service_expose.bats @@ -0,0 +1,30 @@ +#!/usr/bin/env bats +load test_helper + +setup() { + dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2 +} + +teardown() { + dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2 +} + +@test "($PLUGIN_COMMAND_PREFIX:expose) error when there are no arguments" { + run dokku "$PLUGIN_COMMAND_PREFIX:expose" + assert_contains "${lines[*]}" "Please specify a name for the service" +} + +@test "($PLUGIN_COMMAND_PREFIX:expose) error when service does not exist" { + run dokku "$PLUGIN_COMMAND_PREFIX:expose" not_existing_service + assert_contains "${lines[*]}" "service not_existing_service does not exist" +} + +@test "($PLUGIN_COMMAND_PREFIX:expose) success when not providing a custom port" { + run dokku "$PLUGIN_COMMAND_PREFIX:expose" l + [[ "${lines[*]}" =~ exposed\ on\ port\(s\)\ [[:digit:]]+ ]] +} + +@test "($PLUGIN_COMMAND_PREFIX:expose) success when providing a custom port" { + run dokku "$PLUGIN_COMMAND_PREFIX:expose" l 4242 + assert_contains "${lines[*]}" "exposed on port(s) 4242" +} diff --git a/tests/service_info.bats b/tests/service_info.bats new file mode 100755 index 0000000..b9d3f53 --- /dev/null +++ b/tests/service_info.bats @@ -0,0 +1,26 @@ +#!/usr/bin/env bats +load test_helper + +setup() { + dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2 +} + +teardown() { + dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2 +} + +@test "($PLUGIN_COMMAND_PREFIX:info) error when there are no arguments" { + run dokku "$PLUGIN_COMMAND_PREFIX:info" + assert_contains "${lines[*]}" "Please specify a name for the service" +} + +@test "($PLUGIN_COMMAND_PREFIX:info) error when service does not exist" { + run dokku "$PLUGIN_COMMAND_PREFIX:info" not_existing_service + assert_contains "${lines[*]}" "service not_existing_service does not exist" +} + +@test "($PLUGIN_COMMAND_PREFIX:info) success" { + run dokku "$PLUGIN_COMMAND_PREFIX:info" l + password="$(cat "$PLUGIN_DATA_ROOT/l/PASSWORD")" + assert_contains "${lines[*]}" "DSN: postgres://postgres:$password@172.17.0.34:5432/l" +} diff --git a/tests/service_link.bats b/tests/service_link.bats new file mode 100755 index 0000000..df17c0d --- /dev/null +++ b/tests/service_link.bats @@ -0,0 +1,38 @@ +#!/usr/bin/env bats +load test_helper + +setup() { + dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2 + dokku apps:create my_app >&2 +} + +teardown() { + dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2 + rm "$DOKKU_ROOT/my_app" -rf +} + +@test "($PLUGIN_COMMAND_PREFIX:link) error when there are no arguments" { + run dokku "$PLUGIN_COMMAND_PREFIX:link" + assert_contains "${lines[*]}" "Please specify a name for the service" +} + +@test "($PLUGIN_COMMAND_PREFIX:link) error when the app argument is missing" { + run dokku "$PLUGIN_COMMAND_PREFIX:link" l + assert_contains "${lines[*]}" "Please specify an app to run the command on" +} + +@test "($PLUGIN_COMMAND_PREFIX:link) error when the app does not exist" { + run dokku "$PLUGIN_COMMAND_PREFIX:link" l not_existing_app + assert_contains "${lines[*]}" "App not_existing_app does not exist" +} + +@test "($PLUGIN_COMMAND_PREFIX:link) error when the service does not exist" { + run dokku "$PLUGIN_COMMAND_PREFIX:link" not_existing_service my_app + assert_contains "${lines[*]}" "service not_existing_service does not exist" +} + +@test "($PLUGIN_COMMAND_PREFIX:link) success" { + run dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app + links=$(cat "$PLUGIN_DATA_ROOT/l/LINKS") + assert_equal "$links" "my_app" +} diff --git a/tests/service_list.bats b/tests/service_list.bats new file mode 100755 index 0000000..6b8eeb9 --- /dev/null +++ b/tests/service_list.bats @@ -0,0 +1,28 @@ +#!/usr/bin/env bats +load test_helper + +setup() { + dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2 +} + +teardown() { + dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2 +} + +@test "($PLUGIN_COMMAND_PREFIX:list) with no exposed ports" { + run dokku "$PLUGIN_COMMAND_PREFIX:list" + assert_contains "${lines[*]}" "l (running)" +} + +@test "($PLUGIN_COMMAND_PREFIX:list) with exposed ports" { + dokku "$PLUGIN_COMMAND_PREFIX:expose" l 4242 + run dokku "$PLUGIN_COMMAND_PREFIX:list" + assert_contains "${lines[*]}" "l (running), exposed port(s): 5432->4242" +} + +@test "($PLUGIN_COMMAND_PREFIX:list) when there are no services" { + dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2 + run dokku "$PLUGIN_COMMAND_PREFIX:list" + assert_contains "${lines[*]}" "There are no Postgres services" + dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2 +} diff --git a/tests/service_logs.bats b/tests/service_logs.bats new file mode 100755 index 0000000..07d79f2 --- /dev/null +++ b/tests/service_logs.bats @@ -0,0 +1,34 @@ +#!/usr/bin/env bats +load test_helper + +setup() { + export ECHO_DOCKER_COMMAND="false" + dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2 +} + +teardown() { + export ECHO_DOCKER_COMMAND="false" + dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2 +} + +@test "($PLUGIN_COMMAND_PREFIX:logs) error when there are no arguments" { + run dokku "$PLUGIN_COMMAND_PREFIX:logs" + assert_contains "${lines[*]}" "Please specify a name for the service" +} + +@test "($PLUGIN_COMMAND_PREFIX:logs) error when service does not exist" { + run dokku "$PLUGIN_COMMAND_PREFIX:logs" not_existing_service + assert_contains "${lines[*]}" "service not_existing_service does not exist" +} + +@test "($PLUGIN_COMMAND_PREFIX:logs) success when not tailing" { + export ECHO_DOCKER_COMMAND="true" + run dokku "$PLUGIN_COMMAND_PREFIX:logs" l + assert_output "docker logs --tail 100 testid" +} + +@test "($PLUGIN_COMMAND_PREFIX:logs) success when tailing" { + export ECHO_DOCKER_COMMAND="true" + run dokku "$PLUGIN_COMMAND_PREFIX:logs" l -t + assert_output "docker logs --follow testid" +} diff --git a/tests/service_restart.bats b/tests/service_restart.bats new file mode 100755 index 0000000..ab20d29 --- /dev/null +++ b/tests/service_restart.bats @@ -0,0 +1,26 @@ +#!/usr/bin/env bats +load test_helper + +setup() { + dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2 +} + +teardown() { + dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2 +} + +@test "($PLUGIN_COMMAND_PREFIX:restart) error when there are no arguments" { + run dokku "$PLUGIN_COMMAND_PREFIX:restart" + assert_contains "${lines[*]}" "Please specify a name for the service" +} + +@test "($PLUGIN_COMMAND_PREFIX:restart) error when service does not exist" { + run dokku "$PLUGIN_COMMAND_PREFIX:restart" not_existing_service + assert_contains "${lines[*]}" "service not_existing_service does not exist" +} + +@test "($PLUGIN_COMMAND_PREFIX:restart) success" { + run dokku "$PLUGIN_COMMAND_PREFIX:restart" l + assert_success +} + diff --git a/tests/service_start.bats b/tests/service_start.bats new file mode 100755 index 0000000..69a0852 --- /dev/null +++ b/tests/service_start.bats @@ -0,0 +1,26 @@ +#!/usr/bin/env bats +load test_helper + +setup() { + dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2 +} + +teardown() { + dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2 +} + +@test "($PLUGIN_COMMAND_PREFIX:start) error when there are no arguments" { + run dokku "$PLUGIN_COMMAND_PREFIX:start" + assert_contains "${lines[*]}" "Please specify a name for the service" +} + +@test "($PLUGIN_COMMAND_PREFIX:start) error when service does not exist" { + run dokku "$PLUGIN_COMMAND_PREFIX:start" not_existing_service + assert_contains "${lines[*]}" "service not_existing_service does not exist" +} + +@test "($PLUGIN_COMMAND_PREFIX:start) success" { + run dokku "$PLUGIN_COMMAND_PREFIX:start" l + assert_success +} + diff --git a/tests/service_stop.bats b/tests/service_stop.bats new file mode 100755 index 0000000..4b2f71b --- /dev/null +++ b/tests/service_stop.bats @@ -0,0 +1,26 @@ +#!/usr/bin/env bats +load test_helper + +setup() { + dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2 +} + +teardown() { + dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2 +} + +@test "($PLUGIN_COMMAND_PREFIX:stop) error when there are no arguments" { + run dokku "$PLUGIN_COMMAND_PREFIX:stop" + assert_contains "${lines[*]}" "Please specify a name for the service" +} + +@test "($PLUGIN_COMMAND_PREFIX:stop) error when service does not exist" { + run dokku "$PLUGIN_COMMAND_PREFIX:stop" not_existing_service + assert_contains "${lines[*]}" "service not_existing_service does not exist" +} + +@test "($PLUGIN_COMMAND_PREFIX:stop) success" { + run dokku "$PLUGIN_COMMAND_PREFIX:stop" l + assert_success +} + diff --git a/tests/service_unexpose.bats b/tests/service_unexpose.bats new file mode 100755 index 0000000..02f0b8f --- /dev/null +++ b/tests/service_unexpose.bats @@ -0,0 +1,28 @@ +#!/usr/bin/env bats +load test_helper + +setup() { + dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2 +} + +teardown() { + dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2 +} + +@test "($PLUGIN_COMMAND_PREFIX:unexpose) error when there are no arguments" { + run dokku "$PLUGIN_COMMAND_PREFIX:unexpose" + assert_contains "${lines[*]}" "Please specify a name for the service" +} + +@test "($PLUGIN_COMMAND_PREFIX:unexpose) error when service does not exist" { + run dokku "$PLUGIN_COMMAND_PREFIX:unexpose" not_existing_service + assert_contains "${lines[*]}" "service not_existing_service does not exist" +} + +@test "($PLUGIN_COMMAND_PREFIX:unexpose) success" { + dokku "$PLUGIN_COMMAND_PREFIX:expose" l + run dokku "$PLUGIN_COMMAND_PREFIX:unexpose" l + [[ ! -f $PLUGIN_DATA_ROOT/PORT ]] + assert_contains "${lines[*]}" "Service l unexposed" +} + diff --git a/tests/service_unlink.bats b/tests/service_unlink.bats new file mode 100755 index 0000000..98233ad --- /dev/null +++ b/tests/service_unlink.bats @@ -0,0 +1,39 @@ +#!/usr/bin/env bats +load test_helper + +setup() { + dokku apps:create my_app >&2 + dokku "$PLUGIN_COMMAND_PREFIX:create" l >&2 +} + +teardown() { + dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2 + rm "$DOKKU_ROOT/my_app" -rf +} + +@test "($PLUGIN_COMMAND_PREFIX:unlink) error when there are no arguments" { + run dokku "$PLUGIN_COMMAND_PREFIX:unlink" + assert_contains "${lines[*]}" "Please specify a name for the service" +} + +@test "($PLUGIN_COMMAND_PREFIX:unlink) error when the app argument is missing" { + run dokku "$PLUGIN_COMMAND_PREFIX:unlink" l + assert_contains "${lines[*]}" "Please specify an app to run the command on" +} + +@test "($PLUGIN_COMMAND_PREFIX:unlink) error when the app does not exist" { + run dokku "$PLUGIN_COMMAND_PREFIX:unlink" l not_existing_app + assert_contains "${lines[*]}" "App not_existing_app does not exist" +} + +@test "($PLUGIN_COMMAND_PREFIX:unlink) error when the service does not exist" { + run dokku "$PLUGIN_COMMAND_PREFIX:unlink" not_existing_service my_app + assert_contains "${lines[*]}" "service not_existing_service does not exist" +} + +@test "($PLUGIN_COMMAND_PREFIX:unlink) success" { + dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app >&2 + run dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app + links=$(cat "$PLUGIN_DATA_ROOT/l/LINKS") + assert_equal "$links" "" +} diff --git a/tests/test_helper.bash b/tests/test_helper.bash index 2107363..68827a6 100644 --- a/tests/test_helper.bash +++ b/tests/test_helper.bash @@ -7,7 +7,8 @@ export PLUGIN_COMMAND_PREFIX="postgres" export PLUGIN_PATH="$DOKKU_ROOT/plugins" export PLUGIN_DATA_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/fixtures" -mkdir -p $PLUGIN_DATA_ROOT +mkdir -p "$PLUGIN_DATA_ROOT" +rm -rf "${PLUGIN_DATA_ROOT:?}"/* flunk() { { if [ "$#" -eq 0 ]; then cat -