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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)