diff --git a/test/test_helper/common.bash b/test/test_helper/common.bash index b1dd9c41..fd49fabb 100644 --- a/test/test_helper/common.bash +++ b/test/test_helper/common.bash @@ -158,4 +158,22 @@ function duplicate_config_for_container() { mkdir -p "$output" cp -r "$PWD/test/config/${1:?}/." "$output" echo "$output" -} \ No newline at end of file +} + +function container_has_service_running() { + containerName="$1" + serviceName="$2" + docker exec "$containerName" /usr/bin/supervisorctl status "$serviceName" | grep RUNNING >/dev/null +} + +function wait_for_service() { + containerName="$1" + serviceName="$2" + repeat_in_container_until_success_or_timeout 600 "$containerName" \ + container_has_service_running "$containerName" "$serviceName" +} + +function count_processed_changes() { + containerName=$1 + docker exec "$containerName" cat /var/log/supervisor/changedetector.log | grep "Change detected" -c +} diff --git a/test/tests.bats b/test/tests.bats index e9c0dab4..219ceb0c 100644 --- a/test/tests.bats +++ b/test/tests.bats @@ -65,27 +65,6 @@ teardown_file() { docker rm -f mail } -# -# shared functions -# - -function wait_for_service() { - containerName=$1 - serviceName=$2 - count=0 - while ! (docker exec $containerName /usr/bin/supervisorctl status $serviceName | grep RUNNING >/dev/null) - do - ((count++)) && ((count==30)) && break - sleep 5 - done - return $(docker exec $containerName /usr/bin/supervisorctl status $serviceName | grep RUNNING >/dev/null) -} - -function count_processed_changes() { - containerName=$1 - docker exec $containerName cat /var/log/supervisor/changedetector.log | grep "Change detected" | wc -l -} - # this test must come first to reliably identify when to run setup_file @test "first" { skip 'Starting testing of letsencrypt SSL'