forked from GithubBackups/healthchecks
Check.in_grace_period() looks at last_ping_was_fail
flag.
This commit is contained in:
parent
5f908a01e4
commit
dfcf7aafbe
@ -146,6 +146,9 @@ class Check(models.Model):
|
||||
if self.status in ("new", "paused"):
|
||||
return False
|
||||
|
||||
if self.last_ping_was_fail:
|
||||
return False
|
||||
|
||||
grace_start = self.get_grace_start()
|
||||
grace_end = grace_start + self.grace
|
||||
return grace_start < timezone.now() < grace_end
|
||||
|
@ -20,6 +20,16 @@ class CheckModelTestCase(TestCase):
|
||||
check = Check()
|
||||
self.assertFalse(check.in_grace_period())
|
||||
|
||||
def test_in_grace_period_handles_fail_ping(self):
|
||||
check = Check()
|
||||
check.status = "up"
|
||||
check.last_ping = timezone.now() - timedelta(days=1, minutes=30)
|
||||
check.last_ping_was_fail = True
|
||||
|
||||
# If last ping was signalling a failure, we're not in grace period,
|
||||
# we're down
|
||||
self.assertFalse(check.in_grace_period())
|
||||
|
||||
def test_status_works_with_grace_period(self):
|
||||
check = Check()
|
||||
check.status = "up"
|
||||
|
Loading…
x
Reference in New Issue
Block a user