Add audit event for suspending a service

This is particularly important for broadcast services, where a rogue
service or platform admin could launch a DoS attack by suspending a
service at a critical moment when it needs to send alerts.
This commit is contained in:
Ben Thorner
2021-07-08 15:20:24 +01:00
parent e72a260e13
commit bb4c86008a
4 changed files with 40 additions and 3 deletions

View File

@@ -8,6 +8,7 @@ from app.event_handlers import (
create_email_change_event,
create_mobile_number_change_event,
create_remove_user_from_service_event,
create_suspend_service_event,
on_user_logged_in,
)
from app.models.user import User
@@ -133,3 +134,21 @@ def test_create_broadcast_account_type_change_event(notify_admin, mock_events):
'service_mode': 'training',
'broadcast_channel': 'severe',
'provider_restriction': None})
def test_suspend_service(client, mock_events):
service_id = str(uuid.uuid4())
suspended_by_id = str(uuid.uuid4())
create_suspend_service_event(
service_id,
suspended_by_id,
)
mock_events.assert_called_with(
'suspend_service',
{'browser_fingerprint': {'browser': ANY, 'version': ANY, 'platform': ANY, 'user_agent_string': ''},
'ip_address': ANY,
'service_id': service_id,
'suspended_by_id': suspended_by_id},
)