コード例 #1
0
def test_delete_billing_data(notify_db_session):
    service_1 = create_service(service_name='1')
    service_2 = create_service(service_name='2')
    sms_template = create_template(service_1, 'sms')
    email_template = create_template(service_1, 'email')
    other_service_template = create_template(service_2, 'sms')

    existing_rows_to_delete = [  # noqa
        create_ft_billing('2018-01-01',
                          'sms',
                          sms_template,
                          service_1,
                          billable_unit=1),
        create_ft_billing('2018-01-01',
                          'email',
                          email_template,
                          service_1,
                          billable_unit=2)
    ]
    other_day = create_ft_billing('2018-01-02',
                                  'sms',
                                  sms_template,
                                  service_1,
                                  billable_unit=3)
    other_service = create_ft_billing('2018-01-01',
                                      'sms',
                                      other_service_template,
                                      service_2,
                                      billable_unit=4)

    delete_billing_data_for_service_for_day('2018-01-01', service_1.id)

    current_rows = FactBilling.query.all()
    assert sorted(x.billable_units for x in current_rows) == sorted(
        [other_day.billable_units, other_service.billable_units])
コード例 #2
0
def test_delete_billing_data(notify_db_session):
    service_1 = create_service(service_name="1")
    service_2 = create_service(service_name="2")
    sms_template = create_template(service_1, "sms")
    email_template = create_template(service_1, "email")
    other_service_template = create_template(service_2, "sms")

    existing_rows_to_delete = [  # noqa
        create_ft_billing("2018-01-01", "sms", sms_template, service_1, billable_unit=1),
        create_ft_billing("2018-01-01", "email", email_template, service_1, billable_unit=2),
    ]
    other_day = create_ft_billing("2018-01-02", "sms", sms_template, service_1, billable_unit=3)
    other_service = create_ft_billing("2018-01-01", "sms", other_service_template, service_2, billable_unit=4)

    delete_billing_data_for_service_for_day("2018-01-01", service_1.id)

    current_rows = FactBilling.query.all()
    assert sorted(x.billable_units for x in current_rows) == sorted([other_day.billable_units, other_service.billable_units])
コード例 #3
0
 def rebuild_ft_data(process_day, service):
     deleted_rows = delete_billing_data_for_service_for_day(
         process_day, service)
     current_app.logger.info(
         'deleted {} existing billing rows for {} on {}'.format(
             deleted_rows, service, process_day))
     transit_data = fetch_billing_data_for_day(process_day=process_day,
                                               service_id=service)
     # transit_data = every row that should exist
     for data in transit_data:
         # upsert existing rows
         update_fact_billing(data, process_day)
     current_app.logger.info(
         'added/updated {} billing rows for {} on {}'.format(
             len(transit_data), service, process_day))