Add event for remove_user_from_service

Follows our existing patterns of events for managing users
This commit is contained in:
David McDonald
2020-03-10 13:18:32 +00:00
parent 81e4902afb
commit c248fee772
4 changed files with 43 additions and 0 deletions

View File

@@ -25,6 +25,15 @@ def create_mobile_number_change_event(user_id, updated_by_id, original_mobile_nu
new_mobile_number=new_mobile_number)
def create_remove_user_from_service_event(user_id, removed_by_id, service_id):
_send_event(
'remove_user_from_service',
user_id=user_id,
removed_by_id=removed_by_id,
service_id=service_id
)
def create_archive_user_event(user_id, archived_by_id):
_send_event(
'archive_user',

View File

@@ -14,6 +14,7 @@ from app import current_service, service_api_client
from app.event_handlers import (
create_email_change_event,
create_mobile_number_change_event,
create_remove_user_from_service_event,
)
from app.main import main
from app.main.forms import (
@@ -132,6 +133,8 @@ def remove_user_from_service(service_id, user_id):
service_id=service_id))
else:
abort(500, e)
else:
create_remove_user_from_service_event(user_id=user_id, removed_by_id=current_user.id, service_id=service_id)
return redirect(url_for(
'.manage_users',

View File

@@ -994,9 +994,13 @@ def test_manage_user_page_doesnt_show_folder_hint_if_service_cant_edit_folder_pe
def test_remove_user_from_service(
client_request,
active_user_with_permissions,
api_user_active,
service_one,
mock_remove_user_from_service,
mocker
):
mock_event_handler = mocker.patch('app.main.views.manage_users.create_remove_user_from_service_event')
client_request.post(
'main.remove_user_from_service',
service_id=service_one['id'],
@@ -1008,6 +1012,12 @@ def test_remove_user_from_service(
str(active_user_with_permissions['id'])
)
mock_event_handler.assert_called_once_with(
user_id=active_user_with_permissions['id'],
removed_by_id=api_user_active['id'],
service_id=service_one['id'],
)
def test_can_invite_user_as_platform_admin(
client_request,

View File

@@ -5,6 +5,7 @@ from app.event_handlers import (
create_archive_user_event,
create_email_change_event,
create_mobile_number_change_event,
create_remove_user_from_service_event,
on_user_logged_in,
)
from app.models.user import User
@@ -37,6 +38,26 @@ def test_create_email_change_event_calls_events_api(app_, mock_events):
'new_email_address': 'new@example.com'})
def test_create_remove_user_from_service_event_calls_events_api(app_, mock_events):
user_id = str(uuid.uuid4())
removed_by_id = str(uuid.uuid4())
service_id = str(uuid.uuid4())
with app_.test_request_context():
create_remove_user_from_service_event(user_id, removed_by_id, service_id)
mock_events.assert_called_with(
'remove_user_from_service',
{
'browser_fingerprint': {'browser': ANY, 'version': ANY, 'platform': ANY, 'user_agent_string': ''},
'ip_address': ANY,
'user_id': user_id,
'removed_by_id': removed_by_id,
'service_id': service_id,
}
)
def test_create_mobile_number_change_event_calls_events_api(app_, mock_events):
user_id = str(uuid.uuid4())
updated_by_id = str(uuid.uuid4())