def setUp(self): super(RegistrationRetractionModelsTestCase, self).setUp() self.user = UserFactory() self.registration = RegistrationFactory(creator=self.user, is_public=True) self.valid_justification = fake.sentence() self.invalid_justification = fake.text(max_nb_chars=3000)
def test_do_not_update_private_wiki_page( self, app, wiki_private, user_read_contributor, user_non_contributor, url_wiki_versions_private ): payload = update_payload(wiki_private, fake.text()) # test_do_not_update_private_wiki_page_as_read_contributor res = app.post_json_api( url_wiki_versions_private, payload, auth=user_read_contributor.auth, expect_errors=True ) assert res.status_code == 403 # test_do_not_update_private_wiki_page_as_non_contributor res = app.post_json_api( url_wiki_versions_private, payload, auth=user_non_contributor.auth, expect_errors=True ) assert res.status_code == 403 # test_do_not_update_private_wiki_page_unauthenticated res = app.post_json_api( url_wiki_versions_private, payload, expect_errors=True ) assert res.status_code == 401
def test_send_with_sendgrid_success(self): mock_client = mock.MagicMock() mock_client.send.return_value = 200, 'success' from_addr, to_addr = fake_email(), fake_email() category1, category2 = fake.word(), fake.word() subject = fake.bs() message = fake.text() ret = _send_with_sendgrid( from_addr=from_addr, to_addr=to_addr, subject=subject, message=message, mimetype='html', client=mock_client, categories=(category1, category2) ) assert_true(ret) assert_equal(mock_client.send.call_count, 1) # First call's argument should be a Mail object with # the correct configuration first_call_arg = mock_client.send.call_args[0][0] assert_is_instance(first_call_arg, sendgrid.Mail) assert_equal(first_call_arg.from_email, from_addr) assert_equal(first_call_arg.to[0], to_addr) assert_equal(first_call_arg.subject, subject) assert_in(message, first_call_arg.html) # Categories are set assert_equal(first_call_arg.smtpapi.data['category'], (category1, category2))
def test_do_not_update_private_wiki_page(self, app, wiki_private, user_read_contributor, user_non_contributor, url_wiki_versions_private): payload = update_payload(wiki_private, fake.text()) # test_do_not_update_private_wiki_page_as_read_contributor res = app.post_json_api(url_wiki_versions_private, payload, auth=user_read_contributor.auth, expect_errors=True) assert res.status_code == 403 # test_do_not_update_private_wiki_page_as_non_contributor res = app.post_json_api(url_wiki_versions_private, payload, auth=user_non_contributor.auth, expect_errors=True) assert res.status_code == 403 # test_do_not_update_private_wiki_page_unauthenticated res = app.post_json_api(url_wiki_versions_private, payload, expect_errors=True) assert res.status_code == 401
def test_send_with_sendgrid_success(self): mock_client = mock.MagicMock() mock_client.send.return_value = 200, 'success' from_addr, to_addr = fake.email(), fake.email() category1, category2 = fake.word(), fake.word() subject = fake.bs() message = fake.text() ret = _send_with_sendgrid(from_addr=from_addr, to_addr=to_addr, subject=subject, message=message, mimetype='txt', client=mock_client, categories=(category1, category2)) assert_true(ret) assert_equal(mock_client.send.call_count, 1) # First call's argument should be a Mail object with # the correct configuration first_call_arg = mock_client.send.call_args[0][0] assert_is_instance(first_call_arg, sendgrid.Mail) assert_equal(first_call_arg.from_email, from_addr) assert_equal(first_call_arg.to[0], to_addr) assert_equal(first_call_arg.subject, subject) assert_equal(first_call_arg.text, message) # Categories are set assert_equal(first_call_arg.smtpapi.data['category'], (category1, category2))
def setUp(self): super(RegistrationRetractionModelsTestCase, self).setUp() self.mock_registration_update = mock.patch('website.project.tasks.on_registration_updated') self.mock_registration_update.start() self.user = UserFactory() self.registration = RegistrationFactory(creator=self.user, is_public=True) self.valid_justification = fake.sentence() self.invalid_justification = fake.text(max_nb_chars=3000)
def test_update_private_wiki_page(self, app, wiki_private, user_write_contributor, url_wiki_versions_private): new_content = fake.text() res = app.post_json_api(url_wiki_versions_private, update_payload(wiki_private, new_content), auth=user_write_contributor.auth) wiki_private.reload() assert res.status_code == 201 assert wiki_private.get_version().content == new_content
def test_update_wiki_page_if_publicly_editable_non_contrib( self, app, user_creator, user_non_contributor, project_public, url_wiki_versions_public, wiki_public): project_public.addons_wiki_node_settings.set_editing( True, auth=Auth(user_creator)) new_content = fake.text() res = app.post_json_api(url_wiki_versions_public, update_payload(wiki_public, new_content), auth=user_non_contributor.auth) assert res.status_code == 201
def test_do_not_update_wiki_on_registrations( self, app, user_creator, wiki_registration_public, wiki_registration_private, url_wiki_versions_registration_public, url_wiki_versions_registration_private): # test_do_not_update_wiki_on_public_registration res = app.post_json_api(url_wiki_versions_registration_public, update_payload(wiki_registration_public, fake.text()), auth=user_creator.auth, expect_errors=True) assert res.status_code == 405 # test_do_not_update_wiki_on_private_registration res = app.post_json_api(url_wiki_versions_registration_private, update_payload(wiki_registration_private, fake.text()), auth=user_creator.auth, expect_errors=True) assert res.status_code == 405
def test_do_not_update_disabled_public_wiki_page(self, app, user_creator, wiki_public, project_public, url_wiki_versions_public): project_public.delete_addon('wiki', auth=Auth(user_creator)) new_content = fake.text() res = app.post_json_api(url_wiki_versions_public, update_payload(wiki_public, new_content), auth=user_creator.auth, expect_errors=True) assert res.status_code == 404
def test_update_wiki_page_if_publicly_editable_non_contrib( self, app, user_creator, user_non_contributor, project_public, url_wiki_versions_public, wiki_public ): project_public.addons_wiki_node_settings.set_editing(True, auth=Auth(user_creator)) new_content = fake.text() res = app.post_json_api( url_wiki_versions_public, update_payload(wiki_public, new_content), auth=user_non_contributor.auth ) assert res.status_code == 201
def test_send_with_sendgrid_failure_returns_false(self): mock_client = mock.MagicMock() mock_client.send.return_value = 400, 'failed' from_addr, to_addr = fake_email(), fake_email() subject = fake.bs() message = fake.text() ret = _send_with_sendgrid(from_addr=from_addr, to_addr=to_addr, subject=subject, message=message, client=mock_client) assert_false(ret)
def test_update_private_wiki_page( self, app, wiki_private, user_write_contributor, url_wiki_versions_private ): new_content = fake.text() res = app.post_json_api( url_wiki_versions_private, update_payload(wiki_private, new_content), auth=user_write_contributor.auth ) wiki_private.reload() assert res.status_code == 201 assert wiki_private.get_version().content == new_content
def test_do_not_update_wiki_on_registrations( self, app, user_creator, wiki_registration_public, wiki_registration_private, url_wiki_versions_registration_public, url_wiki_versions_registration_private ): # test_do_not_update_wiki_on_public_registration res = app.post_json_api( url_wiki_versions_registration_public, update_payload(wiki_registration_public, fake.text()), auth=user_creator.auth, expect_errors=True ) assert res.status_code == 405 # test_do_not_update_wiki_on_private_registration res = app.post_json_api( url_wiki_versions_registration_private, update_payload(wiki_registration_private, fake.text()), auth=user_creator.auth, expect_errors=True ) assert res.status_code == 405
def test_do_not_update_disabled_public_wiki_page( self, app, user_creator, wiki_public, project_public, url_wiki_versions_public ): project_public.delete_addon('wiki', auth=Auth(user_creator)) new_content = fake.text() res = app.post_json_api( url_wiki_versions_public, update_payload(wiki_public, new_content), auth=user_creator.auth, expect_errors=True ) assert res.status_code == 404
def test_send_with_sendgrid_failure_returns_false(self): mock_client = mock.MagicMock() mock_client.send.return_value = 400, 'failed' from_addr, to_addr = fake_email(), fake_email() subject = fake.bs() message = fake.text() ret = _send_with_sendgrid( from_addr=from_addr, to_addr=to_addr, subject=subject, message=message, mimetype='html', client=mock_client ) assert_false(ret)