def test_batch_update(self):
        klass = self._get_target_class()
        from kardboard.tasks import update_daily_records

        update_daily_records.apply(args=[7], throw=True)
        self.assertEqual(7, klass.objects.count())

        # update_daily_records should be idempotent
        update_daily_records.apply(args=[7], throw=True)
        self.assertEqual(7, klass.objects.count())
def main():
    DailyRecord._get_collection().drop_indexes()
    oldest_card = Kard.objects.all().order_by('+backlog_date')[0]
    start_date = make_start_date(date=oldest_card.backlog_date)
    end_date = make_end_date(date=datetime.datetime.now())

    print "Daily records: %s" % DailyRecord.objects.count()
    print "Creating daily records"
    print "%s --> %s" % (start_date, end_date)

    days = end_date - start_date
    print "Going back %s days" % days.days

    r = update_daily_records.apply(args=(days.days,))
    r.get()

    print "DONE!"
    print "Daily records: %s" % DailyRecord.objects.count()