Beispiel #1
0
    def _post_new_general_comment(self, review_request, review_id,
                                  comment_text,
                                  issue_opened=None,
                                  issue_status=None):
        """Creates a general comment.

        This returns the response from the API call to create the comment.
        """
        if review_request.local_site:
            local_site_name = review_request.local_site.name
        else:
            local_site_name = None

        post_data = {
            'text': comment_text,
        }

        if issue_opened is not None:
            post_data['issue_opened'] = issue_opened

        if issue_status is not None:
            post_data['issue_status'] = issue_status

        review = Review.objects.get(pk=review_id)
        rsp = self.api_post(
            get_review_general_comment_list_url(review, local_site_name),
            post_data,
            expected_mimetype=general_comment_item_mimetype)

        self.assertEqual(rsp['stat'], 'ok')

        return rsp
    def setup_basic_post_test(self, user, with_local_site, local_site_name,
                              post_valid_data):
        review_request = self.create_review_request(
            with_local_site=with_local_site, submitter=user, publish=True)
        review = self.create_review(review_request, user=user)

        return (get_review_general_comment_list_url(review, local_site_name),
                general_comment_item_mimetype, {
                    'text': 'Test comment',
                }, [review])
    def setup_basic_get_test(self, user, with_local_site, local_site_name,
                             populate_items):
        review_request = self.create_review_request(
            with_local_site=with_local_site, submitter=user, publish=True)
        review = self.create_review(review_request, user=user)

        if populate_items:
            items = [self.create_general_comment(review)]
        else:
            items = []

        return (get_review_general_comment_list_url(review, local_site_name),
                general_comment_list_mimetype, items)
    def setup_basic_post_test(self, user, with_local_site, local_site_name,
                              post_valid_data):
        review_request = self.create_review_request(
            with_local_site=with_local_site,
            submitter=user,
            publish=True)
        review = self.create_review(review_request, user=user)

        return (get_review_general_comment_list_url(review,
                                                    local_site_name),
                general_comment_item_mimetype,
                {
                    'text': 'Test comment',
                },
                [review])
    def test_post_with_non_review_owner(self):
        """Testing the POST <URL> API as non-owner of review"""
        review_request = self.create_review_request(publish=True,
                                                    submitter=self.user)
        review = self.create_review(review_request, user=self.user)

        self.assertNotEqual(self.user.username, 'doc')
        self.client.login(username='******', password='******')

        rsp = self.api_post(get_review_general_comment_list_url(review), {
            'text': 'Test',
        },
                            expected_status=403)
        self.assertEqual(rsp['stat'], 'fail')
        self.assertEqual(rsp['err']['code'], PERMISSION_DENIED.code)
    def setup_basic_get_test(self, user, with_local_site, local_site_name,
                             populate_items):
        review_request = self.create_review_request(
            with_local_site=with_local_site,
            submitter=user,
            publish=True)
        review = self.create_review(review_request, user=user)

        if populate_items:
            items = [self.create_general_comment(review)]
        else:
            items = []

        return (get_review_general_comment_list_url(review,
                                                    local_site_name),
                general_comment_list_mimetype,
                items)
    def test_post_with_issue(self):
        """Testing the
        POST review-requests/<id>/reviews/<id>/general-comments/ API
        with an issue
        """
        comment_text = "Test general comment with an opened issue"
        comment, review, review_request = \
            self._create_general_review_with_issue(
                publish=False, comment_text=comment_text)

        rsp = self.api_get(get_review_general_comment_list_url(review),
                           expected_mimetype=general_comment_list_mimetype)
        self.assertEqual(rsp['stat'], 'ok')
        self.assertIn('general_comments', rsp)
        self.assertEqual(len(rsp['general_comments']), 1)
        self.assertEqual(rsp['general_comments'][0]['text'], comment_text)
        self.assertTrue(rsp['general_comments'][0]['issue_opened'])
    def test_post_with_issue(self):
        """Testing the
        POST review-requests/<id>/reviews/<id>/general-comments/ API
        with an issue
        """
        comment_text = "Test general comment with an opened issue"
        comment, review, review_request = \
            self._create_general_review_with_issue(
                publish=False, comment_text=comment_text)

        rsp = self.api_get(
            get_review_general_comment_list_url(review),
            expected_mimetype=general_comment_list_mimetype)
        self.assertEqual(rsp['stat'], 'ok')
        self.assertIn('general_comments', rsp)
        self.assertEqual(len(rsp['general_comments']), 1)
        self.assertEqual(rsp['general_comments'][0]['text'], comment_text)
        self.assertTrue(rsp['general_comments'][0]['issue_opened'])
    def setup_review_request_child_test(self, review_request):
        review = self.create_review(review_request, user=self.user)

        return (get_review_general_comment_list_url(review),
                general_comment_list_mimetype)
    def setup_review_request_child_test(self, review_request):
        review = self.create_review(review_request, user=self.user)

        return (get_review_general_comment_list_url(review),
                general_comment_list_mimetype)