Exemplo n.º 1
0
 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
Exemplo n.º 3
0
    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
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
    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))
Exemplo n.º 7
0
    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
Exemplo n.º 13
0
 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
Exemplo n.º 17
0
 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)