def test_remove_old_messages__system_user(self): system_user = get_system_user() messages = [ MessagePrototype.create(self.account1, self.account2, 'message 1'), MessagePrototype.create(system_user, self.account2, 'message 2'), MessagePrototype.create(self.account1, system_user, 'message 3'), MessagePrototype.create(system_user, system_user, 'message 4'), MessagePrototype.create(self.account1, self.account2, 'message 5'), MessagePrototype.create(system_user, self.account2, 'message 6'), MessagePrototype.create(self.account1, system_user, 'message 7'), MessagePrototype.create(system_user, system_user, 'message 8') ] for message in messages[-4:]: message._model.created_at = datetime.datetime.now( ) - conf.settings.SYSTEM_MESSAGES_LEAVE_TIME message.save() with self.check_delta(MessagePrototype._db_count, -3): MessagePrototype.remove_old_messages() for message in messages[:5]: self.assertNotEqual(MessagePrototype.get_by_id(message.id), None)
def test_remove_old_messages__hiden_by_recipients(self): message_3 = MessagePrototype.create(self.account1, self.account2, 'message 3') MessagePrototype.create(self.account1, self.account2, 'message 3') self.message.hide_from(sender=True) self.message_2.hide_from(recipient=True) message_3.hide_from(sender=True, recipient=True) with self.check_delta(MessagePrototype._db_count, -1): MessagePrototype.remove_old_messages() self.assertEqual(MessagePrototype.get_by_id(message_3.id), None)
def test_remove_old_messages__system_user(self): system_user = get_system_user() messages = [ MessagePrototype.create(self.account1, self.account2, 'message 1'), MessagePrototype.create(system_user, self.account2, 'message 2'), MessagePrototype.create(self.account1, system_user, 'message 3'), MessagePrototype.create(system_user, system_user, 'message 4'), MessagePrototype.create(self.account1, self.account2, 'message 5'), MessagePrototype.create(system_user, self.account2, 'message 6'), MessagePrototype.create(self.account1, system_user, 'message 7'), MessagePrototype.create(system_user, system_user, 'message 8') ] for message in messages[-4:]: message._model.created_at = datetime.datetime.now() - conf.settings.SYSTEM_MESSAGES_LEAVE_TIME message.save() with self.check_delta(MessagePrototype._db_count, -3): MessagePrototype.remove_old_messages() for message in messages[:5]: self.assertNotEqual(MessagePrototype.get_by_id(message.id), None)
def handle(self, *args, **options): MessagePrototype.remove_old_messages()