feat: implement cron and one-off run task TTLs

Closes #7938
This commit is contained in:
Jose Diaz-Gonzalez
2025-11-18 16:45:52 -05:00
parent 99a1e2ee33
commit a6d65c821f
12 changed files with 233 additions and 8 deletions

View File

@@ -98,3 +98,45 @@ teardown() {
echo "status: $status"
assert_success
}
@test "(run) run:retire" {
run deploy_app
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "dokku run:detached --ttl-seconds=1 $TEST_APP sleep 300"
echo "output: $output"
echo "status: $status"
assert_success
container_id="$output"
# check the labels on the container to ensure the active deadline seconds is set
run /bin/bash -c "docker container inspect $container_id --format '{{ index .Config.Labels \"com.dokku.active-deadline-seconds\" }}'"
echo "output: $output"
echo "status: $status"
assert_success
assert_output "1"
run /bin/bash -c "dokku run:list --quiet $TEST_APP"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "$container_id"
run /bin/bash -c "sleep 2"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "dokku run:retire"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "dokku run:list --quiet $TEST_APP"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_not_contains "$container_id"
}