mirror of
https://github.com/GSA/notifications-admin.git
synced 2025-12-10 15:13:40 -05:00
Add event for remove_user_from_service
Follows our existing patterns of events for managing users
This commit is contained in:
@@ -25,6 +25,15 @@ def create_mobile_number_change_event(user_id, updated_by_id, original_mobile_nu
|
|||||||
new_mobile_number=new_mobile_number)
|
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):
|
def create_archive_user_event(user_id, archived_by_id):
|
||||||
_send_event(
|
_send_event(
|
||||||
'archive_user',
|
'archive_user',
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ from app import current_service, service_api_client
|
|||||||
from app.event_handlers import (
|
from app.event_handlers import (
|
||||||
create_email_change_event,
|
create_email_change_event,
|
||||||
create_mobile_number_change_event,
|
create_mobile_number_change_event,
|
||||||
|
create_remove_user_from_service_event,
|
||||||
)
|
)
|
||||||
from app.main import main
|
from app.main import main
|
||||||
from app.main.forms import (
|
from app.main.forms import (
|
||||||
@@ -132,6 +133,8 @@ def remove_user_from_service(service_id, user_id):
|
|||||||
service_id=service_id))
|
service_id=service_id))
|
||||||
else:
|
else:
|
||||||
abort(500, e)
|
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(
|
return redirect(url_for(
|
||||||
'.manage_users',
|
'.manage_users',
|
||||||
|
|||||||
@@ -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(
|
def test_remove_user_from_service(
|
||||||
client_request,
|
client_request,
|
||||||
active_user_with_permissions,
|
active_user_with_permissions,
|
||||||
|
api_user_active,
|
||||||
service_one,
|
service_one,
|
||||||
mock_remove_user_from_service,
|
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(
|
client_request.post(
|
||||||
'main.remove_user_from_service',
|
'main.remove_user_from_service',
|
||||||
service_id=service_one['id'],
|
service_id=service_one['id'],
|
||||||
@@ -1008,6 +1012,12 @@ def test_remove_user_from_service(
|
|||||||
str(active_user_with_permissions['id'])
|
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(
|
def test_can_invite_user_as_platform_admin(
|
||||||
client_request,
|
client_request,
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ from app.event_handlers import (
|
|||||||
create_archive_user_event,
|
create_archive_user_event,
|
||||||
create_email_change_event,
|
create_email_change_event,
|
||||||
create_mobile_number_change_event,
|
create_mobile_number_change_event,
|
||||||
|
create_remove_user_from_service_event,
|
||||||
on_user_logged_in,
|
on_user_logged_in,
|
||||||
)
|
)
|
||||||
from app.models.user import User
|
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'})
|
'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):
|
def test_create_mobile_number_change_event_calls_events_api(app_, mock_events):
|
||||||
user_id = str(uuid.uuid4())
|
user_id = str(uuid.uuid4())
|
||||||
updated_by_id = str(uuid.uuid4())
|
updated_by_id = str(uuid.uuid4())
|
||||||
|
|||||||
Reference in New Issue
Block a user