Our current testing of Task Manager relies on the tests of downstream services like alerting and actions. Now that we discovered a way to have better control on the server code when running, I wonder how many basic tests we can add that would ensure all of Task Manager's functionality works as expected.
Example:
A recurring task gets rescheduled at X + interval after it runs successfully
A recurring task that fails gets rescheduled at X + interval after it throws an error
An ad-hoc task that fails gets re-attempted
An ad-hoc task on it's last attempt gets deleted if it fails on the last run
When an error is thrown during the polling cycle, Task Manager does X
The goal is to increase our level of confidence as we make future changes in Task Manager that we are not breaking functional requirements.
Our current testing of Task Manager relies on the tests of downstream services like alerting and actions. Now that we discovered a way to have better control on the server code when running, I wonder how many basic tests we can add that would ensure all of Task Manager's functionality works as expected.
Example:
The goal is to increase our level of confidence as we make future changes in Task Manager that we are not breaking functional requirements.