forked from GithubBackups/healthchecks
Test for check.prune_pings() method
This commit is contained in:
parent
e80d46a0a9
commit
940534e563
@ -112,8 +112,8 @@ class Check(models.Model):
|
||||
if len(cutoff) == 0:
|
||||
return 0
|
||||
|
||||
cutoff_date = cutoff[0].created
|
||||
q = Ping.objects.filter(owner=self, created__lte=cutoff_date)
|
||||
cutoff_id = cutoff[0].id
|
||||
q = Ping.objects.filter(owner=self, id__lte=cutoff_id)
|
||||
n_pruned, _ = q.delete()
|
||||
|
||||
self.n_pings = keep_limit
|
||||
|
19
hc/api/tests/test_check_model.py
Normal file
19
hc/api/tests/test_check_model.py
Normal file
@ -0,0 +1,19 @@
|
||||
from django.test import TestCase
|
||||
from hc.api.models import Check, Ping
|
||||
|
||||
|
||||
class CheckModelTestCase(TestCase):
|
||||
|
||||
def test_prune_pings(self):
|
||||
check = Check()
|
||||
check.save()
|
||||
|
||||
for i in range(0, 6):
|
||||
p = Ping(owner=check, ua="UA%d" % i)
|
||||
p.save()
|
||||
|
||||
check.prune_pings(keep_limit=3)
|
||||
|
||||
ua_set = set(Ping.objects.values_list("ua", flat=True))
|
||||
# UA0, UA1, UA2 should have been pruned--
|
||||
self.assertEqual(ua_set, set(["UA3", "UA4", "UA5"]))
|
Loading…
x
Reference in New Issue
Block a user