def testCouchSyncToSQL(self): self.deleteAllLogs() self.assertEqual(self.getCouchCount(), 0) self.assertEqual(self.getSQLCount(), 0) # Test Create couch_obj = LastReadMessage() self.setRandomCouchObjectValues(couch_obj) couch_obj.save() sleep(1) self.assertEqual(self.getCouchCount(), 1) self.assertEqual(self.getSQLCount(), 1) sql_obj = SQLLastReadMessage.objects.get(couch_id=couch_obj._id) self.checkFieldValues(couch_obj, sql_obj, SQLLastReadMessage._migration_get_fields()) self.assertTrue(LastReadMessage.get_db().get_rev(couch_obj._id).startswith('1-')) # Test Update self.setRandomCouchObjectValues(couch_obj) couch_obj.save() sleep(1) self.assertEqual(self.getCouchCount(), 1) self.assertEqual(self.getSQLCount(), 1) sql_obj = SQLLastReadMessage.objects.get(couch_id=couch_obj._id) self.checkFieldValues(couch_obj, sql_obj, SQLLastReadMessage._migration_get_fields()) self.assertTrue(LastReadMessage.get_db().get_rev(couch_obj._id).startswith('2-'))
def test_last_read_message(self): self.assertIsNone(SQLLastReadMessage.by_anyone(self.domain, 'contact-id-1')) self.assertIsNone(SQLLastReadMessage.by_user(self.domain, 'user-id-1', 'contact-id-1')) self.assertIsNone(SQLLastReadMessage.by_user(self.domain, 'user-id-2', 'contact-id-1')) lrm1 = SQLLastReadMessage.objects.create( domain=self.domain, read_by='user-id-1', contact_id='contact-id-1', message_id='message-id-1', message_timestamp=datetime(2016, 2, 17, 12, 0), ) self.addCleanup(lrm1.delete) self.assertEqual(SQLLastReadMessage.by_anyone(self.domain, 'contact-id-1'), lrm1) self.assertEqual(SQLLastReadMessage.by_user(self.domain, 'user-id-1', 'contact-id-1'), lrm1) self.assertIsNone(SQLLastReadMessage.by_user(self.domain, 'user-id-2', 'contact-id-1')) lrm2 = SQLLastReadMessage.objects.create( domain=self.domain, read_by='user-id-2', contact_id='contact-id-1', message_id='message-id-2', message_timestamp=datetime(2016, 2, 17, 13, 0), ) self.addCleanup(lrm2.delete) self.assertEqual(SQLLastReadMessage.by_anyone(self.domain, 'contact-id-1'), lrm2) self.assertEqual(SQLLastReadMessage.by_user(self.domain, 'user-id-1', 'contact-id-1'), lrm1) self.assertEqual(SQLLastReadMessage.by_user(self.domain, 'user-id-2', 'contact-id-1'), lrm2)
def get_last_read_message(cls): return SQLLastReadMessage.by_user(cls.domain, cls.chat_user.get_id, cls.contact1.get_id)
def get_last_read_message(cls): return SQLLastReadMessage.by_user(cls.domain, cls.chat_user.get_id, cls.contact1_id)