Test for check.prune_pings() method

This commit is contained in:
Pēteris Caune 2016-01-02 21:54:04 +02:00
parent e80d46a0a9
commit 940534e563
2 changed files with 21 additions and 2 deletions

View File

@ -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

View 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"]))