mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-04 18:31:13 -05:00
Delete unused aggregate_statistics endpoint
`@service_blueprint.route('/<uuid:service_id>/fragment/aggregate_statistics')`
is not being used anywhere, so has been removed. The `provider_statistics_dao`
can also be removed, since the function this contained was only used for
the endpoint.
This commit is contained in:
@@ -1,90 +0,0 @@
|
||||
from datetime import datetime
|
||||
import uuid
|
||||
|
||||
import pytest
|
||||
from freezegun import freeze_time
|
||||
|
||||
from app.models import (
|
||||
NotificationHistory, KEY_TYPE_NORMAL, KEY_TYPE_TEAM, KEY_TYPE_TEST,
|
||||
NOTIFICATION_STATUS_TYPES_BILLABLE
|
||||
)
|
||||
from app.dao.provider_statistics_dao import get_fragment_count
|
||||
|
||||
|
||||
def test_get_fragment_count_with_no_data(sample_template):
|
||||
assert get_fragment_count(sample_template.service_id)['sms_count'] == 0
|
||||
assert get_fragment_count(sample_template.service_id)['email_count'] == 0
|
||||
|
||||
|
||||
def test_get_fragment_count_separates_sms_and_email(notify_db, sample_template, sample_email_template):
|
||||
noti_hist(notify_db, sample_template)
|
||||
noti_hist(notify_db, sample_template)
|
||||
noti_hist(notify_db, sample_email_template)
|
||||
assert get_fragment_count(sample_template.service_id) == {
|
||||
'sms_count': 2,
|
||||
'email_count': 1
|
||||
}
|
||||
|
||||
|
||||
def test_get_fragment_count_filters_on_status(notify_db, sample_template):
|
||||
for status in NOTIFICATION_STATUS_TYPES_BILLABLE:
|
||||
noti_hist(notify_db, sample_template, status=status)
|
||||
# sending, sent, delivered, failed, temporary-failure, permanent-failure
|
||||
assert get_fragment_count(sample_template.service_id)['sms_count'] == 6
|
||||
|
||||
|
||||
def test_get_fragment_count_filters_on_service_id(notify_db, sample_template, service_factory):
|
||||
service_2 = service_factory.get('service 2', email_from='service.2')
|
||||
noti_hist(notify_db, sample_template)
|
||||
assert get_fragment_count(service_2.id)['sms_count'] == 0
|
||||
|
||||
|
||||
@pytest.mark.parametrize('creation_time, expected_count', [
|
||||
('2000-03-31 22:59:59', 0), # before the start of the year
|
||||
('2000-04-01 00:00:00', 1), # after the start of the year
|
||||
('2001-03-31 22:59:59', 1), # before the end of the year
|
||||
('2001-04-01 00:00:00', 0), # after the end of the year
|
||||
])
|
||||
def test_get_fragment_count_filters_on_year(
|
||||
notify_db, sample_template, creation_time, expected_count
|
||||
):
|
||||
with freeze_time(creation_time):
|
||||
noti_hist(notify_db, sample_template)
|
||||
assert get_fragment_count(sample_template.service_id, year=2000)['sms_count'] == expected_count
|
||||
|
||||
|
||||
def test_get_fragment_count_sums_billable_units_for_sms(notify_db, sample_template):
|
||||
noti_hist(notify_db, sample_template, billable_units=1)
|
||||
noti_hist(notify_db, sample_template, billable_units=2)
|
||||
assert get_fragment_count(sample_template.service_id)['sms_count'] == 3
|
||||
|
||||
|
||||
@pytest.mark.parametrize('key_type,sms_count', [
|
||||
(KEY_TYPE_NORMAL, 1),
|
||||
(KEY_TYPE_TEAM, 1),
|
||||
(KEY_TYPE_TEST, 0),
|
||||
])
|
||||
def test_get_fragment_count_ignores_test_api_keys(notify_db, sample_template, key_type, sms_count):
|
||||
noti_hist(notify_db, sample_template, key_type=key_type)
|
||||
assert get_fragment_count(sample_template.service_id)['sms_count'] == sms_count
|
||||
|
||||
|
||||
def noti_hist(notify_db, template, status='delivered', billable_units=None, key_type=KEY_TYPE_NORMAL):
|
||||
if not billable_units and template.template_type == 'sms':
|
||||
billable_units = 1
|
||||
|
||||
notification_history = NotificationHistory(
|
||||
id=uuid.uuid4(),
|
||||
service=template.service,
|
||||
template_id=template.id,
|
||||
template_version=template.version,
|
||||
status=status,
|
||||
created_at=datetime.utcnow(),
|
||||
billable_units=billable_units,
|
||||
notification_type=template.template_type,
|
||||
key_type=key_type
|
||||
)
|
||||
notify_db.session.add(notification_history)
|
||||
notify_db.session.commit()
|
||||
|
||||
return notification_history
|
||||
Reference in New Issue
Block a user