Beispiel #1
0
    def test_commit_filter(self):
        """Testing the GET <URL>?commit-id= API filters FileDiffs to the
        requested commit
        """
        with override_feature_check(dvcs_feature.feature_id, enabled=True):
            repository = self.create_repository()
            review_request = self.create_review_request(repository=repository,
                                                        submitter=self.user)
            diffset = self.create_diffset(review_request=review_request,
                                          repository=repository)
            commit = self.create_diffcommit(diffset=diffset,
                                            repository=repository)

            diffset.finalize_commit_series(
                cumulative_diff=self.DEFAULT_GIT_FILEDIFF_DATA_DIFF,
                validation_info=None,
                validate=False,
                save=True)

            rsp = self.api_get('%s?commit-id=%s' % (get_filediff_list_url(
                diffset, review_request), commit.commit_id),
                               expected_status=200,
                               expected_mimetype=filediff_list_mimetype)

            self.assertIn('stat', rsp)
            self.assertEqual(rsp['stat'], 'ok')
            self.assertIn('files', rsp)
            self.assertEqual(rsp['total_results'], 1)

            item_rsp = rsp['files'][0]
            filediff = FileDiff.objects.get(pk=item_rsp['id'])
            self.compare_item(item_rsp, filediff)
Beispiel #2
0
    def test_commit_filter_no_results(self):
        """Testing the GET <URL>?commit-id= API with no results"""
        with override_feature_check(dvcs_feature.feature_id, enabled=True):
            repository = self.create_repository()
            review_request = self.create_review_request(
                repository=repository,
                submitter=self.user,
                create_with_history=True)
            diffset = self.create_diffset(review_request=review_request,
                                          repository=repository)
            commit = self.create_diffcommit(diffset=diffset,
                                            repository=repository)

            diffset.finalize_commit_series(
                cumulative_diff=self.DEFAULT_GIT_FILEDIFF_DATA_DIFF,
                validation_info=None,
                validate=False,
                save=True)

            rsp = self.api_get('%s?commit-id=%s' % (get_filediff_list_url(
                diffset, review_request), commit.parent_id),
                               expected_status=200,
                               expected_mimetype=filediff_list_mimetype)

            self.assertIn('stat', rsp)
            self.assertEqual(rsp['stat'], 'ok')
            self.assertIn('files', rsp)
            self.assertEqual(rsp['files'], [])
            self.assertEqual(rsp['total_results'], 0)
Beispiel #3
0
    def test_history_no_commit_filter(self):
        """Testing the GET <URL> API for a diffset with commits only returns
        cumulative files
        """
        with override_feature_check(dvcs_feature.feature_id, enabled=True):
            repository = self.create_repository()
            review_request = self.create_review_request(
                repository=repository,
                submitter=self.user,
                create_with_history=True)
            diffset = self.create_diffset(review_request=review_request,
                                          repository=repository)
            commit = self.create_diffcommit(diffset=diffset,
                                            repository=repository)

            diffset.finalize_commit_series(
                cumulative_diff=self.DEFAULT_GIT_FILEDIFF_DATA_DIFF,
                validation_info=None,
                validate=False,
                save=True)

            cumulative_filediff = diffset.cumulative_files[0]

            rsp = self.api_get(get_filediff_list_url(diffset, review_request),
                               expected_mimetype=filediff_list_mimetype)

            self.assertIn('stat', rsp)
            self.assertEqual(rsp['stat'], 'ok')
            self.assertIn('files', rsp)
            self.assertEqual(rsp['total_results'], 1)
            self.assertEqual(rsp['files'][0]['id'], cumulative_filediff.pk)

            self.assertNotEqual(commit.files.get().pk, cumulative_filediff.pk)
Beispiel #4
0
    def test_commit_filter(self):
        """Testing the GET <URL>?commit-id= API filters FileDiffs to the
        requested commit
        """
        with override_feature_check(dvcs_feature.feature_id, enabled=True):
            repository = self.create_repository()
            review_request = self.create_review_request(repository=repository,
                                                        submitter=self.user)
            diffset = self.create_diffset(review_request=review_request,
                                          repository=repository)
            commit = self.create_diffcommit(diffset=diffset,
                                            repository=repository)

            diffset.finalize_commit_series(
                cumulative_diff=self.DEFAULT_GIT_FILEDIFF_DATA_DIFF,
                validation_info=None,
                validate=False,
                save=True)

            rsp = self.api_get(
                '%s?commit-id=%s'
                % (get_filediff_list_url(diffset, review_request),
                   commit.commit_id),
                expected_status=200,
                expected_mimetype=filediff_list_mimetype)

            self.assertIn('stat', rsp)
            self.assertEqual(rsp['stat'], 'ok')
            self.assertIn('files', rsp)
            self.assertEqual(rsp['total_results'], 1)

            item_rsp = rsp['files'][0]
            filediff = FileDiff.objects.get(pk=item_rsp['id'])
            self.compare_item(item_rsp, filediff)
Beispiel #5
0
    def test_commit_filter_no_results(self):
        """Testing the GET <URL>?commit-id= API with no results"""
        with override_feature_check(dvcs_feature.feature_id, enabled=True):
            repository = self.create_repository()
            review_request = self.create_review_request(
                repository=repository,
                submitter=self.user,
                create_with_history=True)
            diffset = self.create_diffset(review_request=review_request,
                                          repository=repository)
            commit = self.create_diffcommit(diffset=diffset,
                                            repository=repository)

            diffset.finalize_commit_series(
                cumulative_diff=self.DEFAULT_GIT_FILEDIFF_DATA_DIFF,
                validation_info=None,
                validate=False,
                save=True)

            rsp = self.api_get(
                '%s?commit-id=%s'
                % (get_filediff_list_url(diffset, review_request),
                   commit.parent_id),
                expected_status=200,
                expected_mimetype=filediff_list_mimetype)

            self.assertIn('stat', rsp)
            self.assertEqual(rsp['stat'], 'ok')
            self.assertIn('files', rsp)
            self.assertEqual(rsp['files'], [])
            self.assertEqual(rsp['total_results'], 0)
Beispiel #6
0
    def test_commit_filter(self):
        """Testing the GET <URL>?commit-id= API filters FileDiffs to the
        requested commit
        """
        repository = self.create_repository()
        review_request = self.create_review_request(repository=repository,
                                                    submitter=self.user)
        diffset = self.create_diffset(review_request=review_request,
                                      repository=repository)
        commit = self.create_diffcommit(diffset=diffset, repository=repository)

        rsp = self.api_get(
            '%s?commit-id=%s' %
            (get_filediff_list_url(diffset, review_request), commit.commit_id),
            expected_status=200,
            expected_mimetype=filediff_list_mimetype)

        self.assertIn('stat', rsp)
        self.assertEqual(rsp['stat'], 'ok')
        self.assertIn('files', rsp)
        self.assertEqual(rsp['total_results'], 1)

        item_rsp = rsp['files'][0]
        filediff = FileDiff.objects.get(pk=item_rsp['id'])
        self.compare_item(item_rsp, filediff)
Beispiel #7
0
    def setup_review_request_child_test(self, review_request):
        """Set up the review request child tests.

        Args:
            review_request (reviewboard.reviews.models.review_request.
                            ReviewRequest):
                The test review request.

        Returns:
            tuple:
            A tuple of the API list URL and list mimetype to run tests on.
        """
        review_request.repository = self.create_repository()
        diffset = self.create_diffset(review_request)
        return (get_filediff_list_url(diffset,
                                      review_request), filediff_list_mimetype)
Beispiel #8
0
    def setup_review_request_child_test(self, review_request):
        """Set up the review request child tests.

        Args:
            review_request (reviewboard.reviews.models.review_request.
                            ReviewRequest):
                The test review request.

        Returns:
            tuple:
            A tuple of the API list URL and list mimetype to run tests on.
        """
        review_request.repository = self.create_repository()
        diffset = self.create_diffset(review_request)
        return (get_filediff_list_url(diffset, review_request),
                filediff_list_mimetype)
Beispiel #9
0
    def setup_basic_get_test(self, user, with_local_site, local_site_name,
                             populate_items):
        repository = self.create_repository(with_local_site)
        review_request = self.create_review_request(
            with_local_site=with_local_site,
            repository=repository,
            submitter=user,
            publish=True)

        diffset = self.create_diffset(review_request)
        items = []

        if populate_items:
            items.append(self.create_filediff(diffset))

        return (get_filediff_list_url(diffset, review_request,
                                      local_site_name), filediff_list_mimetype,
                items)
Beispiel #10
0
    def setup_basic_get_test(self, user, with_local_site, local_site_name,
                             populate_items):
        repository = self.create_repository(with_local_site)
        review_request = self.create_review_request(
            with_local_site=with_local_site,
            repository=repository,
            submitter=user,
            publish=True)

        diffset = self.create_diffset(review_request)
        items = []

        if populate_items:
            items.append(self.create_filediff(diffset))

        return (get_filediff_list_url(diffset, review_request,
                                      local_site_name),
                filediff_list_mimetype,
                items)
Beispiel #11
0
    def test_commit_filter_no_results(self):
        """Testing the GET <URL>?commit-id= API with no results"""
        repository = self.create_repository()
        review_request = self.create_review_request(repository=repository,
                                                    submitter=self.user)
        diffset = self.create_diffset(review_request=review_request,
                                      repository=repository)
        commit = self.create_diffcommit(diffset=diffset, repository=repository)

        rsp = self.api_get(
            '%s?commit-id=%s' %
            (get_filediff_list_url(diffset, review_request), commit.parent_id),
            expected_status=200,
            expected_mimetype=filediff_list_mimetype)

        self.assertIn('stat', rsp)
        self.assertEqual(rsp['stat'], 'ok')
        self.assertIn('files', rsp)
        self.assertEqual(rsp['files'], [])
        self.assertEqual(rsp['total_results'], 0)
Beispiel #12
0
    def test_history_no_commit_filter(self):
        """Testing the GET <URL> API for a diffset with commits only returns
        cumulative files
        """
        with override_feature_check(dvcs_feature.feature_id, enabled=True):
            repository = self.create_repository()
            review_request = self.create_review_request(
                repository=repository,
                submitter=self.user,
                create_with_history=True)
            diffset = self.create_diffset(review_request=review_request,
                                          repository=repository)
            commit = self.create_diffcommit(diffset=diffset,
                                            repository=repository)

            diffset.finalize_commit_series(
                cumulative_diff=self.DEFAULT_GIT_FILEDIFF_DATA_DIFF,
                validation_info=None,
                validate=False,
                save=True)

            cumulative_filediff = diffset.cumulative_files[0]

            rsp = self.api_get(
                get_filediff_list_url(diffset, review_request),
                expected_mimetype=filediff_list_mimetype)

            self.assertIn('stat', rsp)
            self.assertEqual(rsp['stat'], 'ok')
            self.assertIn('files', rsp)
            self.assertEqual(rsp['total_results'], 1)
            self.assertEqual(rsp['files'][0]['id'],
                             cumulative_filediff.pk)

            self.assertNotEqual(commit.files.get().pk,
                                cumulative_filediff.pk)