def test_get_synclog_ids_by_date(self): start = self.synclog.date end = datetime.utcnow() + timedelta(days=3) self.assertEqual( set(get_synclog_ids_by_date(start, end)), set(), ) start = datetime.utcnow() - timedelta(days=3) end = datetime.utcnow() + timedelta(days=3) self.assertEqual( set(get_synclog_ids_by_date(start, end)), {self.synclog._id}, )
def setUpClass(cls): db = SimplifiedSyncLog.get_db() # datetime.min is not compatible for `json_format_datetime` for synclog_id in get_synclog_ids_by_date(datetime(1970, 1, 1), datetime.max): db.delete_doc(synclog_id) # Needed because other tests do not always clean up their users. delete_all_users() hard_delete_deleted_users() cls.g1 = Group(domain=cls.domain, name='group') cls.g1.save() cls.g2 = Group(domain=cls.domain, name='group') cls.g2.soft_delete() cls.domain_obj = Domain( name=cls.domain, is_active=True, ) cls.domain_obj.save() cls.web_user = WebUser.create(cls.domain, 'web-user', '***') cls.commcare_user = CommCareUser.create(cls.domain, 'cc-user', '***') cls.commcare_user.retire() cls.synclog = SimplifiedSyncLog( domain=cls.domain, build_id='1234', user_id='5678', date=datetime.utcnow(), ) cls.synclog.save()
def record_iter(cls, start_datetime, end_datetime): synclog_ids = get_synclog_ids_by_date(start_datetime, end_datetime) return iter_docs(SyncLog.get_db(), synclog_ids)