Beispiel #1
0
 def test_grooming_should_allow_defining_none__inactive_user(self):
     User.objects.filter(id=self.user.id).update(
         last_login=now() - timedelta(days=11),
     )
     groom_redis_precaches()
     self.assertFalse(self.r.exists("sh:streams:spamandeggs:736353:%s" % self.user.id))
     self.assertFalse(self.r.exists("sh:streams:spamandeggs:736353:%s:throughs" % self.user.id))
 def test_grooming_should_allow_defining_none__inactive_user(self):
     User.objects.filter(id=self.user.id).update(
         last_login=now() - timedelta(days=11),
     )
     groom_redis_precaches()
     self.assertFalse(self.r.exists("sh:streams:spamandeggs:736353:%s" % self.user.id))
     self.assertFalse(self.r.exists("sh:streams:spamandeggs:736353:%s:throughs" % self.user.id))
Beispiel #3
0
 def test_grooming_should_keep_top_x(self):
     groom_redis_precaches()
     zitems = self.r.zrange("sh:streams:spamandeggs:1", 0, 10, withscores=True)
     zitems = {int(score): value.decode("utf-8") for value, score in zitems}
     self.assertEqual(zitems, self.expected_z)
     hitems = self.r.hgetall("sh:streams:spamandeggs:1:throughs")
     hitems = {key.decode("utf-8"): value.decode("utf-8") for key, value in hitems.items()}
     self.assertEqual(hitems, self.expected_h)
Beispiel #4
0
 def test_user_fetched_from_db_only_once(self):
     User.objects.filter(id=self.user.id).update(last_login=now() -
                                                 timedelta(days=9), )
     with self.assertNumQueries(1):
         groom_redis_precaches()
     User.objects.filter(id=self.user.id).update(last_login=now() -
                                                 timedelta(days=11), )
     with self.assertNumQueries(1):
         groom_redis_precaches()
Beispiel #5
0
 def test_user_fetched_from_db_only_once(self):
     User.objects.filter(id=self.user.id).update(
         last_login=now() - timedelta(days=9),
     )
     with self.assertNumQueries(1):
         groom_redis_precaches()
     User.objects.filter(id=self.user.id).update(
         last_login=now() - timedelta(days=11),
     )
     with self.assertNumQueries(1):
         groom_redis_precaches()
 def test_grooming_should_keep_top_x__inactive_user(self):
     expected_z = {x: str(x ** x) for x in range(8, 10)}
     expected_h = {str(x ** x): str(x ** x + 1) for x in range(8, 10)}
     User.objects.filter(id=self.user.id).update(
         last_login=now() - timedelta(days=11),
     )
     groom_redis_precaches()
     zitems = self.r.zrange("sh:streams:spamandeggs:736353:%s" % self.user.id, 0, 10, withscores=True)
     zitems = {int(score): value.decode("utf-8") for value, score in zitems}
     self.assertEqual(zitems, expected_z)
     hitems = self.r.hgetall("sh:streams:spamandeggs:736353:%s:throughs" % self.user.id)
     hitems = {key.decode("utf-8"): value.decode("utf-8") for key, value in hitems.items()}
     self.assertEqual(hitems, expected_h)
Beispiel #7
0
 def test_grooming_should_keep_top_x__inactive_user(self):
     expected_z = {x: str(x ** x) for x in range(8, 10)}
     expected_h = {str(x ** x): str(x ** x + 1) for x in range(8, 10)}
     User.objects.filter(id=self.user.id).update(
         last_login=now() - timedelta(days=11),
     )
     groom_redis_precaches()
     zitems = self.r.zrange("sh:streams:spamandeggs:736353:%s" % self.user.id, 0, 10, withscores=True)
     zitems = {int(score): value.decode("utf-8") for value, score in zitems}
     self.assertEqual(zitems, expected_z)
     hitems = self.r.hgetall("sh:streams:spamandeggs:736353:%s:throughs" % self.user.id)
     hitems = {key.decode("utf-8"): value.decode("utf-8") for key, value in hitems.items()}
     self.assertEqual(hitems, expected_h)