예제 #1
0
    def test_update_active_contributor_metrics(self):
        """Test the cron job that updates active contributor metrics."""
        day = date(2013, 07, 31)
        last_month = date(2013, 06, 15)
        start_date = date(2013, 06, 1)
        before_start = date(2013, 05, 31)

        # Create some revisions to test with:

        # 3 'en-US' contributors:
        d = document(locale='en-US', save=True)
        u = user(save=True)
        revision(document=d, creator=user(save=True), created=last_month,
                 is_approved=True, reviewer=u, save=True)
        revision(document=d, creator=u, created=last_month, save=True)

        p = product(save=True)
        r = revision(creator=user(save=True), created=start_date, save=True)
        r.document.products.add(p)

        # Add two that shouldn't count:
        revision(document=d, creator=user(save=True), created=before_start,
                 save=True)
        revision(document=d, creator=user(save=True), created=day, save=True)

        # 4 'es' contributors:
        d = document(locale='es', save=True)
        revision(document=d, creator=user(save=True), created=last_month,
                 is_approved=True, reviewer=u, save=True)
        revision(document=d, creator=u, created=last_month,
                 reviewer=user(save=True), save=True)
        revision(document=d, creator=user(save=True), created=start_date,
                 save=True)
        revision(document=d, creator=user(save=True), created=last_month,
                 save=True)
        # Add two that shouldn't count:
        revision(document=d, creator=user(save=True), created=before_start,
                 save=True)
        revision(document=d, creator=user(save=True), created=day, save=True)

        # Call the cron job.
        update_l10n_contributor_metrics(day)

        eq_(3.0, WikiMetric.objects.get(
            locale='en-US', product=None, date=start_date).value)
        eq_(1.0, WikiMetric.objects.get(
            locale='en-US', product=p, date=start_date).value)
        eq_(4.0, WikiMetric.objects.get(
            locale='es', product=None, date=start_date).value)
        eq_(0.0, WikiMetric.objects.get(
            locale='es', product=p, date=start_date).value)
예제 #2
0
    def test_update_active_contributor_metrics(self):
        """Test the cron job that updates active contributor metrics."""
        day = date(2013, 07, 31)
        last_month = date(2013, 06, 15)
        start_date = date(2013, 06, 1)
        before_start = date(2013, 05, 31)

        # Create some revisions to test with:

        # 3 'en-US' contributors:
        d = document(locale='en-US', save=True)
        u = user(save=True)
        revision(document=d, creator=user(save=True), created=last_month,
                 is_approved=True, reviewer=u, save=True)
        revision(document=d, creator=u, created=last_month, save=True)

        p = product(save=True)
        r = revision(creator=user(save=True), created=start_date, save=True)
        r.document.products.add(p)

        # Add two that shouldn't count:
        revision(document=d, creator=user(save=True), created=before_start,
                 save=True)
        revision(document=d, creator=user(save=True), created=day, save=True)

        # 4 'es' contributors:
        d = document(locale='es', save=True)
        revision(document=d, creator=user(save=True), created=last_month,
                 is_approved=True, reviewer=u, save=True)
        revision(document=d, creator=u, created=last_month,
                 reviewer=user(save=True), save=True)
        revision(document=d, creator=user(save=True), created=start_date,
                 save=True)
        revision(document=d, creator=user(save=True), created=last_month,
                 save=True)
        # Add two that shouldn't count:
        revision(document=d, creator=user(save=True), created=before_start,
                 save=True)
        revision(document=d, creator=user(save=True), created=day, save=True)

        # Call the cron job.
        update_l10n_contributor_metrics(day)

        eq_(3.0, WikiMetric.objects.get(
            locale='en-US', product=None, date=start_date).value)
        eq_(1.0, WikiMetric.objects.get(
            locale='en-US', product=p, date=start_date).value)
        eq_(4.0, WikiMetric.objects.get(
            locale='es', product=None, date=start_date).value)
        eq_(0.0, WikiMetric.objects.get(
            locale='es', product=p, date=start_date).value)
def run():
    # Run for every first of every month for the past year.
    today = date.today()
    current_year = today.year
    current_month = today.month

    year = current_year - 1
    month = current_month

    while year < current_year or month <= current_month:
        day = date(year, month, 1)
        update_l10n_contributor_metrics(day)

        month += 1
        if month > 12:
            month = 1
            year += 1
예제 #4
0
파일: test_cron.py 프로젝트: 1234-/kitsune
    def test_update_active_contributor_metrics(self):
        """Test the cron job that updates active contributor metrics."""
        day = date(2013, 7, 31)
        last_month = date(2013, 6, 15)
        start_date = date(2013, 6, 1)
        before_start = date(2013, 5, 31)

        # Create some revisions to test with:

        # 3 'en-US' contributors:
        d = DocumentFactory(locale='en-US')
        u = UserFactory()
        RevisionFactory(document=d, created=last_month, is_approved=True, reviewer=u)
        RevisionFactory(document=d, creator=u, created=last_month)

        p = ProductFactory(visible=True)
        RevisionFactory(created=start_date, document__products=[p])

        # Add two that shouldn't count:
        RevisionFactory(document=d, created=before_start)
        RevisionFactory(document=d, created=day)

        # 4 'es' contributors:
        d = DocumentFactory(locale='es')
        RevisionFactory(document=d, created=last_month, is_approved=True, reviewer=u)
        RevisionFactory(document=d, creator=u, created=last_month, reviewer=UserFactory())
        RevisionFactory(document=d, created=start_date)
        RevisionFactory(document=d, created=last_month)
        # Add two that shouldn't count:
        RevisionFactory(document=d, created=before_start)
        RevisionFactory(document=d, created=day)

        # Call the cron job.
        update_l10n_contributor_metrics(day)

        eq_(3.0, WikiMetric.objects.get(locale='en-US', product=None, date=start_date).value)
        eq_(1.0, WikiMetric.objects.get(locale='en-US', product=p, date=start_date).value)
        eq_(4.0, WikiMetric.objects.get(locale='es', product=None, date=start_date).value)
        eq_(0.0, WikiMetric.objects.get(locale='es', product=p, date=start_date).value)
예제 #5
0
    def test_update_active_contributor_metrics(self):
        """Test the cron job that updates active contributor metrics."""
        day = date(2013, 7, 31)
        last_month = date(2013, 6, 15)
        start_date = date(2013, 6, 1)
        before_start = date(2013, 5, 31)

        # Create some revisions to test with:

        # 3 'en-US' contributors:
        d = DocumentFactory(locale='en-US')
        u = UserFactory()
        RevisionFactory(document=d,
                        created=last_month,
                        is_approved=True,
                        reviewer=u)
        RevisionFactory(document=d, creator=u, created=last_month)

        p = ProductFactory(visible=True)
        RevisionFactory(created=start_date, document__products=[p])

        # Add two that shouldn't count:
        RevisionFactory(document=d, created=before_start)
        RevisionFactory(document=d, created=day)

        # 4 'es' contributors:
        d = DocumentFactory(locale='es')
        RevisionFactory(document=d,
                        created=last_month,
                        is_approved=True,
                        reviewer=u)
        RevisionFactory(document=d,
                        creator=u,
                        created=last_month,
                        reviewer=UserFactory())
        RevisionFactory(document=d, created=start_date)
        RevisionFactory(document=d, created=last_month)
        # Add two that shouldn't count:
        RevisionFactory(document=d, created=before_start)
        RevisionFactory(document=d, created=day)

        # Call the cron job.
        update_l10n_contributor_metrics(day)

        eq_(
            3.0,
            WikiMetric.objects.get(locale='en-US',
                                   product=None,
                                   date=start_date).value)
        eq_(
            1.0,
            WikiMetric.objects.get(locale='en-US', product=p,
                                   date=start_date).value)
        eq_(
            4.0,
            WikiMetric.objects.get(locale='es', product=None,
                                   date=start_date).value)
        eq_(
            0.0,
            WikiMetric.objects.get(locale='es', product=p,
                                   date=start_date).value)