示例#1
0
def test_course_mau_etl(simple_mau_test_data):
    """
    Integration test for the functions in this mod
    Test that the pipeline loads data for a simple case
    """
    our_site = simple_mau_test_data['our_site']
    our_course = simple_mau_test_data['our_course']
    month_for = simple_mau_test_data['month_for']
    expected_mau_ids = simple_mau_test_data['expected_mau_ids']
    obj, created = collect_course_mau(site=our_site,
                                      courselike=our_course.id,
                                      month_for=month_for)
    assert obj
    assert created
    assert obj.mau == len(expected_mau_ids)
示例#2
0
def populate_course_mau(site_id, course_id, month_for=None, force_update=False):
    """Populates the MAU for the given site, course, and month
    """
    if month_for:
        month_for = as_date(month_for)
    else:
        month_for = datetime.datetime.utcnow().date()
    site = Site.objects.get(id=site_id)
    start_time = time.time()
    obj, _created = collect_course_mau(site=site,
                                       courselike=course_id,
                                       month_for=month_for,
                                       overwrite=force_update)
    if not obj:
        msg = 'populate_course_mau failed for course {course_id}'.format(
            course_id=str(course_id))
        logger.error(msg)
    elapsed_time = time.time() - start_time
    logger.info('populate_course_mau Elapsed time (seconds)={}. cdm_obj={}'.format(
        elapsed_time, obj))