mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-23 15:57:23 -04:00
notify-api-412 use black to enforce python coding style
This commit is contained in:
@@ -4,145 +4,155 @@ from app.models.job import Job
|
||||
from app.statistics_utils import add_rates_to, statistics_by_state, sum_of_statistics
|
||||
|
||||
|
||||
@pytest.mark.parametrize('delivery_statistics', [
|
||||
None,
|
||||
[{}],
|
||||
[{'emails_requested': 0}, {'emails_requested': 0}]
|
||||
])
|
||||
@pytest.mark.parametrize(
|
||||
"delivery_statistics",
|
||||
[None, [{}], [{"emails_requested": 0}, {"emails_requested": 0}]],
|
||||
)
|
||||
def test_sum_of_statistics_puts_in_defaults_of_zero(delivery_statistics):
|
||||
resp = sum_of_statistics(delivery_statistics)
|
||||
|
||||
assert resp == {
|
||||
'emails_delivered': 0,
|
||||
'emails_requested': 0,
|
||||
'emails_failed': 0,
|
||||
'sms_requested': 0,
|
||||
'sms_delivered': 0,
|
||||
'sms_failed': 0
|
||||
"emails_delivered": 0,
|
||||
"emails_requested": 0,
|
||||
"emails_failed": 0,
|
||||
"sms_requested": 0,
|
||||
"sms_delivered": 0,
|
||||
"sms_failed": 0,
|
||||
}
|
||||
|
||||
|
||||
def test_sum_of_statistics_sums_inputs():
|
||||
delivery_statistics = [
|
||||
{
|
||||
'emails_delivered': 1,
|
||||
'emails_requested': 2,
|
||||
'emails_failed': 3,
|
||||
'sms_requested': 4,
|
||||
'sms_delivered': 5,
|
||||
'sms_failed': 6
|
||||
"emails_delivered": 1,
|
||||
"emails_requested": 2,
|
||||
"emails_failed": 3,
|
||||
"sms_requested": 4,
|
||||
"sms_delivered": 5,
|
||||
"sms_failed": 6,
|
||||
},
|
||||
{
|
||||
'emails_delivered': 10,
|
||||
'emails_requested': 20,
|
||||
'emails_failed': 30,
|
||||
'sms_requested': 40,
|
||||
'sms_delivered': 50,
|
||||
'sms_failed': 60
|
||||
}
|
||||
"emails_delivered": 10,
|
||||
"emails_requested": 20,
|
||||
"emails_failed": 30,
|
||||
"sms_requested": 40,
|
||||
"sms_delivered": 50,
|
||||
"sms_failed": 60,
|
||||
},
|
||||
]
|
||||
resp = sum_of_statistics(delivery_statistics)
|
||||
|
||||
assert resp == {
|
||||
'emails_delivered': 11,
|
||||
'emails_requested': 22,
|
||||
'emails_failed': 33,
|
||||
'sms_requested': 44,
|
||||
'sms_delivered': 55,
|
||||
'sms_failed': 66
|
||||
"emails_delivered": 11,
|
||||
"emails_requested": 22,
|
||||
"emails_failed": 33,
|
||||
"sms_requested": 44,
|
||||
"sms_delivered": 55,
|
||||
"sms_failed": 66,
|
||||
}
|
||||
|
||||
|
||||
@pytest.mark.parametrize('emails_failed,emails_requested,expected_failure_rate', [
|
||||
(0, 0, '0'),
|
||||
(0, 1, '0.0'),
|
||||
(1, 3, '33.3')
|
||||
])
|
||||
def test_add_rates_sets_email_failure_rate(emails_failed, emails_requested, expected_failure_rate):
|
||||
resp = add_rates_to({
|
||||
'emails_failed': emails_failed,
|
||||
'emails_requested': emails_requested,
|
||||
'sms_failed': 0,
|
||||
'sms_requested': 0
|
||||
})
|
||||
@pytest.mark.parametrize(
|
||||
"emails_failed,emails_requested,expected_failure_rate",
|
||||
[(0, 0, "0"), (0, 1, "0.0"), (1, 3, "33.3")],
|
||||
)
|
||||
def test_add_rates_sets_email_failure_rate(
|
||||
emails_failed, emails_requested, expected_failure_rate
|
||||
):
|
||||
resp = add_rates_to(
|
||||
{
|
||||
"emails_failed": emails_failed,
|
||||
"emails_requested": emails_requested,
|
||||
"sms_failed": 0,
|
||||
"sms_requested": 0,
|
||||
}
|
||||
)
|
||||
|
||||
assert resp['emails_failure_rate'] == expected_failure_rate
|
||||
assert resp["emails_failure_rate"] == expected_failure_rate
|
||||
|
||||
|
||||
@pytest.mark.parametrize('sms_failed,sms_requested,expected_failure_rate', [
|
||||
(0, 0, '0'),
|
||||
(0, 1, '0.0'),
|
||||
(1, 3, '33.3')
|
||||
])
|
||||
def test_add_rates_sets_sms_failure_rate(sms_failed, sms_requested, expected_failure_rate):
|
||||
resp = add_rates_to({
|
||||
'emails_failed': 0,
|
||||
'emails_requested': 0,
|
||||
'sms_failed': sms_failed,
|
||||
'sms_requested': sms_requested
|
||||
})
|
||||
@pytest.mark.parametrize(
|
||||
"sms_failed,sms_requested,expected_failure_rate",
|
||||
[(0, 0, "0"), (0, 1, "0.0"), (1, 3, "33.3")],
|
||||
)
|
||||
def test_add_rates_sets_sms_failure_rate(
|
||||
sms_failed, sms_requested, expected_failure_rate
|
||||
):
|
||||
resp = add_rates_to(
|
||||
{
|
||||
"emails_failed": 0,
|
||||
"emails_requested": 0,
|
||||
"sms_failed": sms_failed,
|
||||
"sms_requested": sms_requested,
|
||||
}
|
||||
)
|
||||
|
||||
assert resp['sms_failure_rate'] == expected_failure_rate
|
||||
assert resp["sms_failure_rate"] == expected_failure_rate
|
||||
|
||||
|
||||
def test_add_rates_keeps_original_raw_data():
|
||||
resp = add_rates_to({
|
||||
'emails_failed': 1,
|
||||
'emails_requested': 2,
|
||||
'sms_failed': 3,
|
||||
'sms_requested': 4
|
||||
})
|
||||
resp = add_rates_to(
|
||||
{"emails_failed": 1, "emails_requested": 2, "sms_failed": 3, "sms_requested": 4}
|
||||
)
|
||||
|
||||
assert resp['emails_failed'] == 1
|
||||
assert resp['emails_requested'] == 2
|
||||
assert resp['sms_failed'] == 3
|
||||
assert resp['sms_requested'] == 4
|
||||
assert resp["emails_failed"] == 1
|
||||
assert resp["emails_requested"] == 2
|
||||
assert resp["sms_failed"] == 3
|
||||
assert resp["sms_requested"] == 4
|
||||
|
||||
|
||||
def test_service_statistics_by_state():
|
||||
resp = statistics_by_state({
|
||||
'emails_requested': 3,
|
||||
'emails_failed': 1,
|
||||
'emails_delivered': 1,
|
||||
'sms_requested': 3,
|
||||
'sms_failed': 1,
|
||||
'sms_delivered': 1
|
||||
})
|
||||
resp = statistics_by_state(
|
||||
{
|
||||
"emails_requested": 3,
|
||||
"emails_failed": 1,
|
||||
"emails_delivered": 1,
|
||||
"sms_requested": 3,
|
||||
"sms_failed": 1,
|
||||
"sms_delivered": 1,
|
||||
}
|
||||
)
|
||||
|
||||
for message_type in ['email', 'sms']:
|
||||
assert resp[message_type]['processed'] == 3
|
||||
assert resp[message_type]['sending'] == 1
|
||||
assert resp[message_type]['delivered'] == 1
|
||||
assert resp[message_type]['failed'] == 1
|
||||
for message_type in ["email", "sms"]:
|
||||
assert resp[message_type]["processed"] == 3
|
||||
assert resp[message_type]["sending"] == 1
|
||||
assert resp[message_type]["delivered"] == 1
|
||||
assert resp[message_type]["failed"] == 1
|
||||
|
||||
|
||||
@pytest.mark.parametrize('failed, delivered, expected_failure_rate', [
|
||||
(0, 0, 0),
|
||||
(0, 1, 0),
|
||||
(1, 1, 50),
|
||||
(1, 0, 100),
|
||||
(1, 4, 20)
|
||||
])
|
||||
@pytest.mark.parametrize(
|
||||
"failed, delivered, expected_failure_rate",
|
||||
[(0, 0, 0), (0, 1, 0), (1, 1, 50), (1, 0, 100), (1, 4, 20)],
|
||||
)
|
||||
def test_add_rate_to_job_calculates_rate(failed, delivered, expected_failure_rate):
|
||||
resp = Job({
|
||||
'statistics': [
|
||||
{'status': 'failed', 'count': failed},
|
||||
{'status': 'delivered', 'count': delivered},
|
||||
],
|
||||
'id': 'foo',
|
||||
})
|
||||
resp = Job(
|
||||
{
|
||||
"statistics": [
|
||||
{"status": "failed", "count": failed},
|
||||
{"status": "delivered", "count": delivered},
|
||||
],
|
||||
"id": "foo",
|
||||
}
|
||||
)
|
||||
|
||||
assert resp.failure_rate == expected_failure_rate
|
||||
|
||||
|
||||
def test_add_rate_to_job_preserves_initial_fields():
|
||||
resp = Job({
|
||||
'statistics': [
|
||||
{'status': 'failed', 'count': 0},
|
||||
{'status': 'delivered', 'count': 0},
|
||||
],
|
||||
'id': 'foo',
|
||||
})
|
||||
resp = Job(
|
||||
{
|
||||
"statistics": [
|
||||
{"status": "failed", "count": 0},
|
||||
{"status": "delivered", "count": 0},
|
||||
],
|
||||
"id": "foo",
|
||||
}
|
||||
)
|
||||
|
||||
assert resp.notifications_failed == resp.notifications_delivered == resp.failure_rate == 0
|
||||
assert resp.id == 'foo'
|
||||
assert (
|
||||
resp.notifications_failed
|
||||
== resp.notifications_delivered
|
||||
== resp.failure_rate
|
||||
== 0
|
||||
)
|
||||
assert resp.id == "foo"
|
||||
|
||||
Reference in New Issue
Block a user