Skip to content

Commit 93c938e

Browse files
committed
improve notification mocking
1 parent eae2207 commit 93c938e

File tree

147 files changed

+981
-790
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

147 files changed

+981
-790
lines changed

addons/boa/tests/test_tasks.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ def test_handle_boa_error(self):
6868
output_file_name=self.output_file_name,
6969
job_id=self.job_id
7070
)
71-
assert len(notifications) == 1
72-
assert notifications[0]['type'] == NotificationType.Type.ADDONS_BOA_JOB_FAILURE
71+
assert len(notifications['emits']) == 1
72+
assert notifications['emits'][0]['type'] == NotificationType.Type.ADDONS_BOA_JOB_FAILURE
7373
mock_sentry_log_message.assert_called_with(self.error_message, skip_session=True)
7474
mock_logger_error.assert_called_with(self.error_message)
7575
assert return_value == BoaErrorCode.UNKNOWN

admin_tests/users/test_views.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -624,7 +624,12 @@ def test_get_password_reset_link(self):
624624

625625
def test_get_unclaimed_node_links(self):
626626
project = ProjectFactory()
627-
unregistered_contributor = project.add_unregistered_contributor(fullname='Brother Nero', email='[email protected]', auth=Auth(project.creator))
627+
unregistered_contributor = project.add_unregistered_contributor(
628+
fullname='Brother Nero',
629+
630+
auth=Auth(project.creator),
631+
notification_type=False
632+
)
628633
project.save()
629634

630635
request = RequestFactory().get('/fake_path')

api_tests/cedar_metadata_records/views/test_record_detail_get.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ def test_record_detail_for_node_with_write_auth(self, app, node_pub, cedar_templ
182182
def test_record_detail_for_node_with_read_auth(self, app, node_pub, cedar_template, cedar_record_for_node_pub, cedar_record_metadata_json):
183183

184184
read = AuthUserFactory()
185-
node_pub.add_contributor(read, permissions=READ)
185+
node_pub.add_contributor(read, permissions=READ, notification_type=False)
186186
node_pub.save()
187187
resp = app.get(f'/_/cedar_metadata_records/{cedar_record_for_node_pub._id}/', auth=read.auth)
188188
assert resp.status_code == 200
@@ -634,7 +634,7 @@ def test_record_detail_for_file_with_write_auth(self, app, node_pub, file_pub, c
634634
def test_record_detail_for_file_with_read_auth(self, app, node_pub, file_pub, cedar_template, cedar_record_for_file_pub, cedar_record_metadata_json):
635635

636636
read = AuthUserFactory()
637-
node_pub.add_contributor(read, permissions=READ)
637+
node_pub.add_contributor(read, permissions=READ, notification_type=False)
638638
node_pub.save()
639639
resp = app.get(f'/_/cedar_metadata_records/{cedar_record_for_file_pub._id}/', auth=read.auth)
640640
assert resp.status_code == 200

api_tests/cedar_metadata_records/views/test_record_metadata_download_get.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ def test_record_metadata_download_for_node_with_write_auth(self, app, node_pub,
108108
def test_record_metadata_download_for_node_with_read_auth(self, app, node_pub, cedar_record_for_node_pub, cedar_record_metadata_json):
109109

110110
read = AuthUserFactory()
111-
node_pub.add_contributor(read, permissions=READ)
111+
node_pub.add_contributor(read, permissions=READ, notification_type=False)
112112
node_pub.save()
113113
resp = app.get(f'/_/cedar_metadata_records/{cedar_record_for_node_pub._id}/metadata_download/', auth=read.auth)
114114
assert resp.status_code == 200
@@ -361,7 +361,7 @@ def test_record_metadata_download_for_node_with_write_auth(self, app, node_pub,
361361
def test_record_metadata_download_for_node_with_read_auth(self, app, node_pub, cedar_record_for_file_pub, cedar_record_metadata_json):
362362

363363
read = AuthUserFactory()
364-
node_pub.add_contributor(read, permissions=READ)
364+
node_pub.add_contributor(read, permissions=READ, notification_type=False)
365365
node_pub.save()
366366
resp = app.get(f'/_/cedar_metadata_records/{cedar_record_for_file_pub._id}/metadata_download/', auth=read.auth)
367367
assert resp.status_code == 200

api_tests/collections/test_views.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4485,8 +4485,8 @@ class TestCollectionSubmissionSubjectsList(SubjectsListMixin):
44854485
@pytest.fixture()
44864486
def project_one(self, user_admin_contrib, user_write_contrib, user_read_contrib):
44874487
project = ProjectFactory(creator=user_admin_contrib)
4488-
project.add_contributor(user_write_contrib, permissions=WRITE)
4489-
project.add_contributor(user_read_contrib, permissions=READ)
4488+
project.add_contributor(user_write_contrib, permissions=WRITE, notification_type=False)
4489+
project.add_contributor(user_read_contrib, permissions=READ, notification_type=False)
44904490
return project
44914491

44924492
@pytest.fixture()
@@ -4527,8 +4527,8 @@ class TestUpdateCollectedMetaSubjects(UpdateSubjectsMixin):
45274527
@pytest.fixture()
45284528
def project_one(self, user_admin_contrib, user_write_contrib, user_read_contrib):
45294529
project = ProjectFactory(creator=user_admin_contrib)
4530-
project.add_contributor(user_write_contrib, permissions=WRITE)
4531-
project.add_contributor(user_read_contrib, permissions=READ)
4530+
project.add_contributor(user_write_contrib, permissions=WRITE, notification_type=False)
4531+
project.add_contributor(user_read_contrib, permissions=READ, notification_type=False)
45324532
return project
45334533

45344534
@pytest.fixture()
@@ -4555,8 +4555,8 @@ class TestCollectedMetaSubjectsRelationship(SubjectsRelationshipMixin):
45554555
@pytest.fixture()
45564556
def project_one(self, user_admin_contrib, user_write_contrib, user_read_contrib):
45574557
project = ProjectFactory(creator=user_admin_contrib)
4558-
project.add_contributor(user_write_contrib, permissions=WRITE)
4559-
project.add_contributor(user_read_contrib, permissions=READ)
4558+
project.add_contributor(user_write_contrib, permissions=WRITE, notification_type=False)
4559+
project.add_contributor(user_read_contrib, permissions=READ, notification_type=False)
45604560
return project
45614561

45624562
@pytest.fixture()

api_tests/crossref/views/test_crossref_email_response.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,8 @@ def test_error_response_sends_message_does_not_set_doi(self, app, url, preprint,
162162
context_data = self.make_mailgun_payload(crossref_response=error_xml)
163163
with capture_notifications() as notifications:
164164
app.post(url, context_data)
165-
assert len(notifications) == 1
166-
assert notifications[0]['type'] == NotificationType.Type.PROVIDER_MODERATOR_ADDED
165+
assert len(notifications['emits']) == 1
166+
assert notifications['emits'][0]['type'] == NotificationType.Type.PROVIDER_MODERATOR_ADDED
167167
assert not preprint.get_identifier_value('doi')
168168

169169
def test_success_response_sets_doi(self, app, url, preprint, success_xml):

api_tests/draft_registrations/views/test_draft_registration_contributor_list.py

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,11 @@ def test_permissions_work_with_many_users(
183183
perm = random.choice(list(users.keys()))
184184
user = AuthUserFactory()
185185

186-
project_private.add_contributor(user, permissions=perm)
186+
project_private.add_contributor(
187+
user,
188+
permissions=perm,
189+
notification_type=False
190+
)
187191
users[perm].append(user._id)
188192

189193
res = app.get(url_private, auth=user.auth)
@@ -242,8 +246,8 @@ def test_add_contributor_sends_email(self, app, user, user_two, url_project_cont
242246
auth=user.auth
243247
)
244248
assert res.status_code == 201
245-
assert len(notifications) == 1
246-
assert notifications[0]['type'] == NotificationType.Type.DRAFT_REGISTRATION_CONTRIBUTOR_ADDED_DEFAULT
249+
assert len(notifications['emits']) == 1
250+
assert notifications['emits'][0]['type'] == NotificationType.Type.DRAFT_REGISTRATION_CONTRIBUTOR_ADDED_DEFAULT
247251

248252
# Overrides TestNodeContributorCreateEmail
249253
def test_add_contributor_signal_if_default(
@@ -285,8 +289,8 @@ def test_add_unregistered_contributor_sends_email(self, app, user, url_project_c
285289
auth=user.auth
286290
)
287291
assert res.status_code == 201
288-
assert len(notifications) == 1
289-
assert notifications[0]['type'] == NotificationType.Type.DRAFT_REGISTRATION_CONTRIBUTOR_ADDED_DEFAULT
292+
assert len(notifications['emits']) == 1
293+
assert notifications['emits'][0]['type'] == NotificationType.Type.DRAFT_REGISTRATION_CONTRIBUTOR_ADDED_DEFAULT
290294

291295
# Overrides TestNodeContributorCreateEmail
292296
def test_add_unregistered_contributor_signal_if_default(self, app, user, url_project_contribs):
@@ -304,8 +308,8 @@ def test_add_unregistered_contributor_signal_if_default(self, app, user, url_pro
304308
}, auth=user.auth
305309
)
306310
assert res.status_code == 201
307-
assert len(notifications) == 1
308-
assert notifications[0]['type'] == NotificationType.Type.DRAFT_REGISTRATION_CONTRIBUTOR_ADDED_DEFAULT
311+
assert len(notifications['emits']) == 1
312+
assert notifications['emits'][0]['type'] == NotificationType.Type.DRAFT_REGISTRATION_CONTRIBUTOR_ADDED_DEFAULT
309313

310314
# Overrides TestNodeContributorCreateEmail
311315
def test_add_unregistered_contributor_without_email_no_email(self, app, user, url_project_contribs):
@@ -374,11 +378,17 @@ def project_private(
374378
project_private.add_contributor(
375379
user_two,
376380
permissions=permissions.READ,
377-
visible=True, save=True)
381+
visible=True,
382+
save=True,
383+
notification_type=False
384+
)
378385
project_private.add_contributor(
379386
user_three,
380387
permissions=permissions.READ,
381-
visible=True, save=True)
388+
visible=True,
389+
save=True,
390+
notification_type=False
391+
)
382392
return project_private
383393

384394
@pytest.fixture()
@@ -484,11 +494,17 @@ def project_private(
484494
project_private.add_contributor(
485495
user_two,
486496
permissions=permissions.READ,
487-
visible=True, save=True)
497+
visible=True,
498+
save=True,
499+
notification_type=False
500+
)
488501
project_private.add_contributor(
489502
user_three,
490503
permissions=permissions.READ,
491-
visible=True, save=True)
504+
visible=True,
505+
save=True,
506+
notification_type=False
507+
)
492508
return project_private
493509

494510

api_tests/draft_registrations/views/test_draft_registration_list.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ def draft_registration(self, user, project, schema, user_write_contrib, user_rea
6868
registration_schema=schema,
6969
branched_from=project
7070
)
71-
draft.add_contributor(user_read_contrib, permissions=READ)
72-
draft.add_contributor(user_write_contrib, permissions=WRITE)
73-
draft.add_contributor(user_admin_contrib, permissions=ADMIN)
71+
draft.add_contributor(user_read_contrib, permissions=READ, notification_type=False)
72+
draft.add_contributor(user_write_contrib, permissions=WRITE, notification_type=False)
73+
draft.add_contributor(user_admin_contrib, permissions=ADMIN, notification_type=False)
7474
return draft
7575

7676
def test_read_only_contributor_can_view_draft_list(
@@ -442,9 +442,9 @@ def test_create_no_project_draft_emails_initiator(self, app, user, url_draft_reg
442442
payload,
443443
auth=user.auth
444444
)
445-
assert len(notifications) == 1
446-
assert notifications[0]['type'] == NotificationType.Type.DRAFT_REGISTRATION_CONTRIBUTOR_ADDED_DEFAULT
447-
assert notifications[0]['kwargs']['user'] == user
445+
assert len(notifications['emits']) == 1
446+
assert notifications['emits'][0]['type'] == NotificationType.Type.DRAFT_REGISTRATION_CONTRIBUTOR_ADDED_DEFAULT
447+
assert notifications['emits'][0]['kwargs']['user'] == user
448448

449449
def test_create_draft_with_provider(
450450
self, app, user, url_draft_registrations, non_default_provider, payload_with_non_default_provider
@@ -510,7 +510,13 @@ def test_draft_registration_attributes_not_copied_from_node(self, app, project_p
510510
save=True
511511
)
512512

513-
res = app.post_json_api(url_draft_registrations, payload, auth=user.auth)
513+
with capture_notifications() as notifications:
514+
res = app.post_json_api(
515+
url_draft_registrations,
516+
payload,
517+
auth=user.auth
518+
)
519+
assert len(notifications['emits']) == 2
514520
assert res.status_code == 201
515521
attributes = res.json['data']['attributes']
516522
assert attributes['title'] == ''

api_tests/draft_registrations/views/test_draft_registration_relationship_institutions.py

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import pytest
22

33
from api.base.settings.defaults import API_BASE
4+
from osf.models import NotificationType
45

56
from osf_tests.factories import DraftRegistrationFactory, AuthUserFactory, InstitutionFactory
67
from osf.utils import permissions
8+
from tests.utils import capture_notifications
79

810

911
@pytest.mark.django_db
@@ -139,18 +141,21 @@ def test_delete_user_is_read_write(
139141
# Overrides TestNodeRelationshipInstitutions
140142
def test_read_write_contributor_can_add_affiliated_institution(
141143
self, app, write_contrib, write_contrib_institution, node, node_institutions_url):
142-
payload = {
143-
'data': [{
144-
'type': 'institutions',
145-
'id': write_contrib_institution._id
146-
}]
147-
}
148-
res = app.post_json_api(
149-
node_institutions_url,
150-
payload,
151-
auth=write_contrib.auth,
152-
expect_errors=True
153-
)
144+
with capture_notifications() as notifications:
145+
res = app.post_json_api(
146+
node_institutions_url,
147+
{
148+
'data': [{
149+
'type': 'institutions',
150+
'id': write_contrib_institution._id
151+
}]
152+
},
153+
auth=write_contrib.auth,
154+
expect_errors=True
155+
)
156+
assert len(notifications['emits']) == 1
157+
assert notifications['emits'][0]['type'] == NotificationType.Type.NODE_AFFILIATION_CHANGED
158+
154159
node.reload()
155160
assert res.status_code == 201
156161

@@ -235,11 +240,14 @@ def test_user_with_institution_and_permissions(
235240
user.add_or_update_affiliated_institution(institution_three)
236241
assert institution_three not in node.affiliated_institutions.all()
237242

238-
res = app.post_json_api(
239-
node_institutions_url,
240-
create_payload(institution_three._id),
241-
auth=user.auth
242-
)
243+
with capture_notifications() as notifications:
244+
res = app.post_json_api(
245+
node_institutions_url,
246+
create_payload(institution_three._id),
247+
auth=user.auth
248+
)
249+
assert len(notifications['emits']) == 1
250+
assert notifications['emits'][0]['type'] == NotificationType.Type.NODE_AFFILIATION_CHANGED
243251

244252
assert res.status_code == 201
245253
data = res.json['data']
@@ -276,11 +284,13 @@ def test_remove_institutions_with_affiliated_user(
276284
node.affiliated_institutions.add(institution_one)
277285
assert institution_one in node.affiliated_institutions.all()
278286

279-
res = app.put_json_api(
280-
node_institutions_url,
281-
{'data': []},
282-
auth=user.auth
283-
)
287+
with capture_notifications() as notifications:
288+
res = app.put_json_api(
289+
node_institutions_url,
290+
{'data': []},
291+
auth=user.auth
292+
)
293+
assert not notifications
284294

285295
assert res.status_code == 200
286296
node.reload()

api_tests/draft_registrations/views/test_draft_registration_relationship_subjects.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ class TestDraftRegistrationRelationshipSubjects(SubjectsRelationshipMixin):
1313
@pytest.fixture()
1414
def resource(self, user_admin_contrib, user_write_contrib, user_read_contrib):
1515
draft = DraftRegistrationFactory(creator=user_admin_contrib)
16-
draft.add_contributor(user_write_contrib, permissions=WRITE)
17-
draft.add_contributor(user_read_contrib, permissions=READ)
16+
draft.add_contributor(user_write_contrib, permissions=WRITE, notification_type=False)
17+
draft.add_contributor(user_read_contrib, permissions=READ, notification_type=False)
1818
draft.save()
1919
return draft
2020

0 commit comments

Comments
 (0)