Heartbeat monitors were incorrectly written expecting
overseer.core/jobs-dead return a seq of job maps, whereas it is
actually spec'd to return job IDs. This leads to NPEs from a bad
destructure and subsequent update attempt. This is easily fixed, and an
integration test for the monitor has been added, tested against both
store implementations. Along the way, test store construction has been
moved centrally to the test-utils namespace.
Note: The default system shutdown behavior of the heartbeat monitor is
now configurable by :heartbeat :monitor-shutdown (default: true), as
this would otherwise trigger when canceling the monitor future in tests.
Heartbeat monitors were incorrectly written expecting
overseer.core/jobs-dead
return a seq of job maps, whereas it is actually spec'd to return job IDs. This leads to NPEs from a bad destructure and subsequent update attempt. This is easily fixed, and an integration test for the monitor has been added, tested against both store implementations. Along the way, test store construction has been moved centrally to thetest-utils
namespace.Note: The default system shutdown behavior of the heartbeat monitor is now configurable by
:heartbeat :monitor-shutdown
(default: true), as this would otherwise trigger when canceling the monitor future in tests.