Testing
Husky includes automated coverage and a large manual scenario suite under testproject/.
Fast validation loop
For normal development:
make build
make test
husky validate --strict
Automated coverage areas
The repository includes tests for:
- config parsing and validation
- schedule evaluation
- DAG cycle detection
- retry state transitions
- output capture modes
- healthcheck behavior
- REST API handlers
- integration and crash-recovery scenarios
Manual scenario suite
The main operator guide is:
testproject/MANUAL_TEST_GUIDE.md
It covers end-to-end scenarios such as:
- basic scheduling
- DAG pipelines and output passing
- retry and concurrency controls
- SLA budgets and healthchecks
- notifications
- tags and bulk operations
- audit trail
- timezones
- crash recovery and catchup
- validation errors
- REST API spot checks
- dashboard workflows
- WebSocket log streaming
Useful scenario directories
testproject/01-basictestproject/02-pipelinetestproject/03-reliabilitytestproject/04-sla-healthchecktestproject/05-notificationstestproject/06-tagstestproject/07-audit-trailtestproject/08-timezonetestproject/09-catchuptestproject/10-validation-errors
Suggested release checklist
Before shipping a change:
- run build and automated tests
- validate config fixtures
- exercise at least one manual scenario for the changed subsystem
- verify dashboard and API behavior if operator-facing changes were made
- verify crash or reload behavior for scheduler and executor changes