From a57680fbbfdda1646d019aa3dd16dd2643097830 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 7 Jan 2021 01:54:04 -0500 Subject: [PATCH] feat: test vector commands --- plugins/logs/subcommands.go | 2 +- tests/unit/logs.bats | 42 +++++++++++++++++++++++++++++++++++++ tests/unit/test_helper.bash | 8 +++++++ 3 files changed, 51 insertions(+), 1 deletion(-) diff --git a/plugins/logs/subcommands.go b/plugins/logs/subcommands.go index 25e1191ef..d9c8ce572 100644 --- a/plugins/logs/subcommands.go +++ b/plugins/logs/subcommands.go @@ -94,7 +94,7 @@ func CommandVectorLogs(lines int, tail bool) error { return errors.New("Vector container is not running") } - common.LogInfo1Quiet("Tailing vector container logs") + common.LogInfo1Quiet("Vector container logs") common.LogVerboseQuietContainerLogsTail(vectorContainerName, lines, tail) return nil diff --git a/tests/unit/logs.bats b/tests/unit/logs.bats index 76bb061d1..0e86f5f3a 100644 --- a/tests/unit/logs.bats +++ b/tests/unit/logs.bats @@ -190,3 +190,45 @@ teardown() { assert_output_contains "Unsetting vector-sink" assert_output_contains "Writing updated vector config to /var/lib/dokku/data/logs/vector.json" } + +@test "(logs) logs:vector" { + run /bin/bash -c "dokku logs:vector-logs 2>&1" + echo "output: $output" + echo "status: $status" + assert_failure + assert_output_contains "Vector container does not exist" + + run /bin/bash -c "dokku logs:vector-start 2>&1" + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "Vector container is running" + + run /bin/bash -c "dokku logs:vector-logs 2>&1" + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "Vector container logs" + + run /bin/bash -c "dokku logs:vector-logs --num 10 2>&1" + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "Vector container logs" + assert_output_contains "vector:" 10 + assert_line_count 11 + + run /bin/bash -c "dokku logs:vector-logs --num 5 2>&1" + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "Vector container logs" + assert_output_contains "vector:" 5 + assert_line_count 6 + + run /bin/bash -c "dokku logs:vector-stop 2>&1" + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "StoppingĀ and removing vector container" +} diff --git a/tests/unit/test_helper.bash b/tests/unit/test_helper.bash index cebb96fce..353772f39 100644 --- a/tests/unit/test_helper.bash +++ b/tests/unit/test_helper.bash @@ -163,6 +163,14 @@ assert_line() { fi } +# ShellCheck doesn't know about $lines from Bats +# shellcheck disable=SC2154 +assert_line_count() { + declare EXPECTED="$1" + local num_lines="${#lines[@]}" + assert_equal "$EXPECTED" "$num_lines" +} + refute_line() { if [[ "$1" -ge 0 ]] 2>/dev/null; then local num_lines="${#lines[@]}"