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},
        )
Ejemplo n.º 2
0
    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()
Ejemplo n.º 3
0
 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)