[ {"name": "a heartbeat pinging on time is up", "args": ["up"], "expect": "up"}, {"name": "a late heartbeat is degraded, not down: it is still inside its grace time", "args": ["late"], "expect": "degraded"}, {"name": "a heartbeat past its grace time is down", "args": ["down"], "expect": "down"}, {"name": "a heartbeat that has never pinged has nothing to report", "args": ["new"], "expect": null}, {"name": "an unknown state is an error", "args": ["missing"], "expectError": "unknown heartbeat state: missing"}, {"name": "states are case-sensitive", "args": ["Up"], "expectError": "unknown heartbeat state: Up"}, {"name": "an empty state is an error", "args": [""], "expectError": "unknown heartbeat state: "}, {"name": "a check status is not a heartbeat state: degraded is refused", "args": ["degraded"], "expectError": "unknown heartbeat state: degraded"} ]