def test_commit_filter(self): """Testing the GET <URL>?commit-id= API filters draft 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, draft=True, repository=repository) commit = self.create_diffcommit(diffset=diffset, repository=repository) rsp = self.api_get('%s?commit-id=%s' % (get_draft_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_http_not_allowed_list_test(self, user): review_request = self.create_review_request( create_repository=True, submitter=user) diffset = self.create_diffset(review_request, draft=True) return get_draft_filediff_list_url(diffset, review_request)
def test_commit_filter(self): """Testing the GET <URL>?commit-id= API filters draft 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, draft=True, repository=repository) commit = self.create_diffcommit(diffset=diffset, repository=repository) rsp = self.api_get( '%s?commit-id=%s' % (get_draft_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_get_not_owner(self): """Testing the GET review-requests/<id>/draft/diffs/<revision>/files/ API without owner with Permission Denied error """ review_request = self.create_review_request(create_repository=True) self.assertNotEqual(review_request.submitter, self.user) diffset = self.create_diffset(review_request, draft=True) self.apiGet(get_draft_filediff_list_url(diffset, review_request), expected_status=403)
def test_get_not_owner(self): """Testing the GET review-requests/<id>/draft/diffs/<revision>/files/ API without owner with Permission Denied error """ review_request = self.create_review_request(create_repository=True) self.assertNotEqual(review_request.submitter, self.user) diffset = self.create_diffset(review_request, draft=True) self.api_get(get_draft_filediff_list_url(diffset, review_request), expected_status=403)
def test_post_method_not_allowed(self): """Testing the POST review-requests/<id>/draft/diffs/<revision>/files/ API gives Method Not Allowed """ review_request = self.create_review_request(create_repository=True, submitter=self.user) diffset = self.create_diffset(review_request, draft=True) self.apiPost( get_draft_filediff_list_url(diffset, review_request), expected_status=405)
def setup_basic_get_test(self, user, with_local_site, local_site_name, populate_items): review_request = self.create_review_request( create_repository=True, with_local_site=with_local_site, submitter=user ) diffset = self.create_diffset(review_request, draft=True) if populate_items: items = [self.create_filediff(diffset)] else: items = [] return (get_draft_filediff_list_url(diffset, review_request, local_site_name), filediff_list_mimetype, items)
def test_get_with_site_no_access(self): """Testing the GET review-requests/<id>/draft/diffs/<revision>/files/ API with a local site and user not on the site """ review_request = self.create_review_request(create_repository=True, with_local_site=True) self.assertNotEqual(review_request.submitter, self.user) diffset = self.create_diffset(review_request, draft=True) self.create_filediff(diffset) self.apiGet( get_draft_filediff_list_url(diffset, review_request, self.local_site_name), expected_status=403)
def test_get(self): """Testing the GET review-requests/<id>/draft/diffs/<revision>/files/ API """ review_request = self.create_review_request(create_repository=True, submitter=self.user) diffset = self.create_diffset(review_request, draft=True) filediff = self.create_filediff(diffset) rsp = self.apiGet( get_draft_filediff_list_url(diffset, review_request), expected_mimetype=filediff_list_mimetype) self.assertEqual(rsp['stat'], 'ok') self.assertEqual(rsp['files'][0]['id'], filediff.pk) self.assertEqual(rsp['files'][0]['source_file'], filediff.source_file)
def setup_basic_get_test(self, user, with_local_site, local_site_name, populate_items): review_request = self.create_review_request( create_repository=True, with_local_site=with_local_site, submitter=user) diffset = self.create_diffset(review_request, draft=True) if populate_items: items = [self.create_filediff(diffset)] else: items = [] return (get_draft_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, draft=True, repository=repository) commit = self.create_diffcommit(diffset=diffset, repository=repository) rsp = self.api_get('%s?commit-id=%s' % (get_draft_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_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, draft=True, repository=repository) commit = self.create_diffcommit(diffset=diffset, repository=repository) rsp = self.api_get( '%s?commit-id=%s' % (get_draft_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)