def test_get_with_site_no_access(self): """Testing the GET review-requests/<id>/file-attachments/<id>/comments/ API with a local site and Permission Denied error """ user = self._login_user(local_site=True) # Post the review request. review_request = self.create_review_request(submitter=user, with_local_site=True, publish=True) file_attachment = self.create_file_attachment(review_request) # Post the review. review = self.create_review(review_request, user=user) self.create_file_attachment_comment(review, file_attachment) # Switch users. self._login_user() rsp = self.apiGet( get_file_attachment_comment_list_url(file_attachment, self.local_site_name), expected_status=403) self.assertEqual(rsp['stat'], 'fail') self.assertEqual(rsp['err']['code'], PERMISSION_DENIED.code)
def test_get(self): """Testing the GET review-requests/<id>/file-attachments/<id>/comments/ API """ comment_text = "This is a test comment." # Post the review request. review_request = self.create_review_request(submitter=self.user, publish=True) file_attachment = self.create_file_attachment(review_request) # Post the review. review = self.create_review(review_request, user=self.user) self._postNewFileAttachmentComment(review_request, review.id, file_attachment, comment_text) rsp = self.apiGet( get_file_attachment_comment_list_url(file_attachment), expected_mimetype=file_attachment_comment_list_mimetype) self.assertEqual(rsp['stat'], 'ok') comments = FileAttachmentComment.objects.filter( file_attachment=file_attachment) rsp_comments = rsp['file_attachment_comments'] self.assertEqual(len(rsp_comments), comments.count()) for i in range(0, len(comments)): self.assertEqual(rsp_comments[i]['text'], comments[i].text)
def test_get_with_site(self): """Testing the GET review-requests/<id>/file-attachments/<id>/comments/ API with a local site """ user = self._login_user(local_site=True) # Post the review request. review_request = self.create_review_request(submitter=user, with_local_site=True, publish=True) file_attachment = self.create_file_attachment(review_request) # Post the review. review = self.create_review(review_request, user=user, publish=True) comment = self.create_file_attachment_comment(review, file_attachment) rsp = self.apiGet( get_file_attachment_comment_list_url(file_attachment, self.local_site_name), expected_mimetype=file_attachment_comment_list_mimetype) self.assertEqual(rsp['stat'], 'ok') rsp_comments = rsp['file_attachment_comments'] self.assertEqual(len(rsp_comments), 1) self.assertEqual(rsp_comments[0]['text'], comment.text)
def test_get_file_attachment_comments(self): """Testing the GET review-requests/<id>/file-attachments/<id>/comments/ API""" comment_text = "This is a test comment." # Post the review request. review_request = self.create_review_request(create_repository=True, submitter=self.user, publish=True) file_attachment = self.create_file_attachment(review_request) # Post the review. review = self.create_review(review_request, user=self.user) self._postNewFileAttachmentComment(review_request, review.id, file_attachment, comment_text) rsp = self.apiGet( get_file_attachment_comment_list_url(file_attachment), expected_mimetype=file_attachment_comment_list_mimetype) self.assertEqual(rsp['stat'], 'ok') comments = FileAttachmentComment.objects.filter( file_attachment=file_attachment) rsp_comments = rsp['file_attachment_comments'] self.assertEqual(len(rsp_comments), comments.count()) for i in range(0, len(comments)): self.assertEqual(rsp_comments[i]['text'], comments[i].text)
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) file_attachment = self.create_file_attachment(review_request) if populate_items: review = self.create_review(review_request, publish=True) items = [ self.create_file_attachment_comment(review, file_attachment), ] else: items = [] return (get_file_attachment_comment_list_url(file_attachment, local_site_name), file_attachment_comment_list_mimetype, items)
def test_get_file_attachment_comments_with_site_no_access(self): """Testing the GET review-requests/<id>/file-attachments/<id>/comments/ API with a local site and Permission Denied error""" user = self._login_user(local_site=True) # Post the review request. review_request = self.create_review_request(create_repository=True, submitter=user, with_local_site=True, publish=True) file_attachment = self.create_file_attachment(review_request) # Post the review. review = self.create_review(review_request, user=user) self.create_file_attachment_comment(review, file_attachment) # Switch users. self._login_user() rsp = self.apiGet(get_file_attachment_comment_list_url( file_attachment, self.local_site_name), expected_status=403) self.assertEqual(rsp['stat'], 'fail') self.assertEqual(rsp['err']['code'], PERMISSION_DENIED.code)
def test_get_file_attachment_comments_with_site(self): """Testing the GET review-requests/<id>/file-attachments/<id>/comments/ API with a local site""" user = self._login_user(local_site=True) # Post the review request. review_request = self.create_review_request(create_repository=True, submitter=user, with_local_site=True, publish=True) file_attachment = self.create_file_attachment(review_request) # Post the review. review = self.create_review(review_request, user=user, publish=True) comment = self.create_file_attachment_comment(review, file_attachment) rsp = self.apiGet( get_file_attachment_comment_list_url(file_attachment, self.local_site_name), expected_mimetype=file_attachment_comment_list_mimetype) self.assertEqual(rsp['stat'], 'ok') rsp_comments = rsp['file_attachment_comments'] self.assertEqual(len(rsp_comments), 1) self.assertEqual(rsp_comments[0]['text'], comment.text)
def setup_http_not_allowed_list_test(self, user): review_request = self.create_review_request(submitter=user, publish=True) file_attachment = self.create_file_attachment(review_request) return get_file_attachment_comment_list_url(file_attachment)
def setup_review_request_child_test(self, review_request): file_attachment = self.create_file_attachment(review_request) return (get_file_attachment_comment_list_url(file_attachment), file_attachment_comment_list_mimetype)