From 9b62b7ccb03ad380a6a112396583df44eb63629c Mon Sep 17 00:00:00 2001 From: Ben Thorner Date: Thu, 8 Jul 2021 17:14:56 +0100 Subject: [PATCH] DRY up mock event dict with a factory function --- tests/app/test_event_handlers.py | 122 ++++++++++++++----------------- 1 file changed, 53 insertions(+), 69 deletions(-) diff --git a/tests/app/test_event_handlers.py b/tests/app/test_event_handlers.py index cb4a1e00b..0bd4a12d3 100644 --- a/tests/app/test_event_handlers.py +++ b/tests/app/test_event_handlers.py @@ -15,12 +15,20 @@ from app.event_handlers import ( from app.models.user import User +def event_dict(**extra): + return { + 'browser_fingerprint': {'browser': ANY, 'version': ANY, 'platform': ANY, 'user_agent_string': ''}, + 'ip_address': ANY, + **extra + } + + def test_on_user_logged_in_calls_events_api(client, api_user_active, mock_events): on_user_logged_in('_notify_admin', User(api_user_active)) - mock_events.assert_called_with('sucessful_login', - {'browser_fingerprint': - {'browser': ANY, 'version': ANY, 'platform': ANY, 'user_agent_string': ''}, - 'ip_address': ANY, 'user_id': str(api_user_active['id'])}) + + mock_events.assert_called_with('sucessful_login', event_dict( + user_id=str(api_user_active['id']) + )) def test_create_email_change_event_calls_events_api(client, mock_events): @@ -29,14 +37,12 @@ def test_create_email_change_event_calls_events_api(client, mock_events): create_email_change_event(user_id, updated_by_id, 'original@example.com', 'new@example.com') - mock_events.assert_called_with('update_user_email', - {'browser_fingerprint': - {'browser': ANY, 'version': ANY, 'platform': ANY, 'user_agent_string': ''}, - 'ip_address': ANY, - 'user_id': user_id, - 'updated_by_id': updated_by_id, - 'original_email_address': 'original@example.com', - 'new_email_address': 'new@example.com'}) + mock_events.assert_called_with('update_user_email', event_dict( + user_id=user_id, + updated_by_id=updated_by_id, + original_email_address='original@example.com', + new_email_address='new@example.com' + )) def test_create_add_user_to_service_event_calls_events_api(client, mock_events): @@ -46,16 +52,11 @@ def test_create_add_user_to_service_event_calls_events_api(client, mock_events): create_add_user_to_service_event(user_id, invited_by_id, service_id) - mock_events.assert_called_with( - 'add_user_to_service', - { - 'browser_fingerprint': {'browser': ANY, 'version': ANY, 'platform': ANY, 'user_agent_string': ''}, - 'ip_address': ANY, - 'user_id': user_id, - 'invited_by_id': invited_by_id, - 'service_id': service_id, - } - ) + mock_events.assert_called_with('add_user_to_service', event_dict( + user_id=user_id, + invited_by_id=invited_by_id, + service_id=service_id, + )) def test_create_remove_user_from_service_event_calls_events_api(client, mock_events): @@ -65,16 +66,11 @@ def test_create_remove_user_from_service_event_calls_events_api(client, mock_eve 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, - } - ) + mock_events.assert_called_with('remove_user_from_service', event_dict( + user_id=user_id, + removed_by_id=removed_by_id, + service_id=service_id, + )) def test_create_mobile_number_change_event_calls_events_api(client, mock_events): @@ -83,14 +79,12 @@ def test_create_mobile_number_change_event_calls_events_api(client, mock_events) create_mobile_number_change_event(user_id, updated_by_id, '07700900000', '07700900999') - mock_events.assert_called_with('update_user_mobile_number', - {'browser_fingerprint': - {'browser': ANY, 'version': ANY, 'platform': ANY, 'user_agent_string': ''}, - 'ip_address': ANY, - 'user_id': user_id, - 'updated_by_id': updated_by_id, - 'original_mobile_number': '07700900000', - 'new_mobile_number': '07700900999'}) + mock_events.assert_called_with('update_user_mobile_number', event_dict( + user_id=user_id, + updated_by_id=updated_by_id, + original_mobile_number='07700900000', + new_mobile_number='07700900999' + )) def test_create_archive_user_event_calls_events_api(client, mock_events): @@ -99,12 +93,10 @@ def test_create_archive_user_event_calls_events_api(client, mock_events): create_archive_user_event(user_id, archived_by_id) - mock_events.assert_called_with('archive_user', - {'browser_fingerprint': - {'browser': ANY, 'version': ANY, 'platform': ANY, 'user_agent_string': ''}, - 'ip_address': ANY, - 'user_id': user_id, - 'archived_by_id': archived_by_id}) + mock_events.assert_called_with('archive_user', event_dict( + user_id=user_id, + archived_by_id=archived_by_id + )) def test_create_broadcast_account_type_change_event(client, mock_events): @@ -118,15 +110,13 @@ def test_create_broadcast_account_type_change_event(client, mock_events): 'severe', None) - mock_events.assert_called_with('change_broadcast_account_type', - {'browser_fingerprint': - {'browser': ANY, 'version': ANY, 'platform': ANY, 'user_agent_string': ''}, - 'ip_address': ANY, - 'service_id': service_id, - 'changed_by_id': changed_by_id, - 'service_mode': 'training', - 'broadcast_channel': 'severe', - 'provider_restriction': None}) + mock_events.assert_called_with('change_broadcast_account_type', event_dict( + service_id=service_id, + changed_by_id=changed_by_id, + service_mode='training', + broadcast_channel='severe', + provider_restriction=None + )) def test_suspend_service(client, mock_events): @@ -138,13 +128,10 @@ def test_suspend_service(client, mock_events): 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}, - ) + mock_events.assert_called_with('suspend_service', event_dict( + service_id=service_id, + suspended_by_id=suspended_by_id, + )) def test_archive_service(client, mock_events): @@ -156,10 +143,7 @@ def test_archive_service(client, mock_events): archived_by_id, ) - mock_events.assert_called_with( - 'archive_service', - {'browser_fingerprint': {'browser': ANY, 'version': ANY, 'platform': ANY, 'user_agent_string': ''}, - 'ip_address': ANY, - 'service_id': service_id, - 'archived_by_id': archived_by_id}, - ) + mock_events.assert_called_with('archive_service', event_dict( + service_id=service_id, + archived_by_id=archived_by_id, + ))