def purge(now=None): # todo: timezone handling models = settings.DATAPURGE_MODELS now = now or datetime.datetime.utcnow() for model, conf in models.items(): task = PurgeTask.create_from_conf(model, conf, now) task()
def test_purge_by_lifetime_field(self): lifetime = self.users[-1].date_joined - self.users[59].date_joined fake_now = self.users[-1].date_joined relation = "auth.User" params = {"lifetime": lifetime, "created_field": "date_joined"} task = PurgeTask.create_from_conf(relation, params, fake_now) task() self.assertEqual(User.objects.count(), 40)
def test_purge_with_callable(self): expire_date = self.users[59].date_joined relation = "auth.User" params = { "callable": lambda model: model.objects.filter(date_joined__lte=expire_date) } task = PurgeTask.create_from_conf(relation, params) task() self.assertEqual(User.objects.count(), 40)
def test_purge_by_expire_field(self): fake_now = self.users[59].date_joined relation = "auth.User" params = { "expire_field": "date_joined", } task = PurgeTask.create_from_conf(relation, params, fake_now) task() self.assertEqual(User.objects.count(), 40)
def test_purge_by_lifetime_field(self): lifetime = self.users[-1].date_joined - self.users[59].date_joined fake_now = self.users[-1].date_joined relation = "auth.User" params = { "lifetime": lifetime, "created_field": "date_joined" } task = PurgeTask.create_from_conf(relation, params, fake_now) task() self.assertEqual(User.objects.count(), 40)