def test_post_with_site(self): """Testing the POST review-requests/<id>/draft/file-attachments/ API with a local site """ user = self._login_user(local_site=True) review_request = self.create_review_request(submitter=user, with_local_site=True) f = open(self._getTrophyFilename(), 'r') self.assertNotEqual(f, None) post_data = { 'path': f, 'caption': 'Trophy', } rsp = self.apiPost( get_draft_file_attachment_list_url(review_request, self.local_site_name), post_data, expected_mimetype=draft_file_attachment_item_mimetype) f.close() self.assertEqual(rsp['stat'], 'ok') self.assertEqual(rsp['draft_file_attachment']['caption'], 'Trophy') draft = review_request.get_draft(User.objects.get(username='******')) self.assertNotEqual(draft, None) return review_request, rsp['draft_file_attachment']['id']
def test_post_file_attachments_with_site(self): """Testing the POST review-requests/<id>/draft/file-attachments/ API with a local site""" user = self._login_user(local_site=True) review_request = self.create_review_request(submitter=user, create_repository=True, with_local_site=True) f = open(self._getTrophyFilename(), 'r') self.assertNotEqual(f, None) post_data = { 'path': f, 'caption': 'Trophy', } rsp = self.apiPost( get_draft_file_attachment_list_url(review_request, self.local_site_name), post_data, expected_mimetype=draft_file_attachment_item_mimetype) f.close() self.assertEqual(rsp['stat'], 'ok') self.assertEqual(rsp['draft_file_attachment']['caption'], 'Trophy') draft = review_request.get_draft(User.objects.get(username='******')) self.assertNotEqual(draft, None) return review_request, rsp['draft_file_attachment']['id']
def test_post_file_attachments(self): """Testing the POST review-requests/<id>/draft/file-attachments/ API""" review_request = self.create_review_request(submitter=self.user) f = open(self._getTrophyFilename(), "r") self.assertNotEqual(f, None) rsp = self.apiPost( get_draft_file_attachment_list_url(review_request), {'path': f}, expected_mimetype=draft_file_attachment_item_mimetype) f.close() self.assertEqual(rsp['stat'], 'ok')
def test_post_file_attachments_with_site_no_access(self): """Testing the POST review-requests/<id>/draft/file-attachments/ API with a local site and Permission Denied error""" review_request = self.create_review_request(with_local_site=True) f = open(self._getTrophyFilename(), 'r') self.assertNotEqual(f, None) rsp = self.apiPost(get_draft_file_attachment_list_url( review_request, self.local_site_name), {'path': f}, expected_status=403) f.close() 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) if populate_items: items = [self.create_file_attachment(review_request, draft=True)] else: items = [] return (get_draft_file_attachment_list_url(review_request, local_site_name), draft_file_attachment_list_mimetype, items)
def test_post(self): """Testing the POST review-requests/<id>/draft/file-attachments/ API""" review_request = self.create_review_request(submitter=self.user) f = open(self._getTrophyFilename(), "r") self.assertNotEqual(f, None) rsp = self.apiPost( get_draft_file_attachment_list_url(review_request), {'path': f}, expected_mimetype=draft_file_attachment_item_mimetype) f.close() self.assertEqual(rsp['stat'], 'ok')
def test_post_file_attachments_with_site_no_access(self): """Testing the POST review-requests/<id>/draft/file-attachments/ API with a local site and Permission Denied error""" review_request = self.create_review_request(with_local_site=True) f = open(self._getTrophyFilename(), 'r') self.assertNotEqual(f, None) rsp = self.apiPost( get_draft_file_attachment_list_url(review_request, self.local_site_name), {'path': f}, expected_status=403) f.close() self.assertEqual(rsp['stat'], 'fail') self.assertEqual(rsp['err']['code'], PERMISSION_DENIED.code)
def test_post_file_attachments_with_permission_denied_error(self): """Testing the POST review-requests/<id>/draft/file-attachments/ API with Permission Denied error""" review_request = self.create_review_request() self.assertNotEqual(review_request.submitter, self.user) f = open(self._getTrophyFilename(), "r") self.assert_(f) rsp = self.apiPost(get_draft_file_attachment_list_url(review_request), { 'caption': 'Trophy', 'path': f, }, expected_status=403) f.close() self.assertEqual(rsp['stat'], 'fail') self.assertEqual(rsp['err']['code'], PERMISSION_DENIED.code)
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) if post_valid_data: post_data = { 'path': open(self.get_sample_image_filename(), 'r'), 'caption': 'New caption', } else: post_data = {} return (get_draft_file_attachment_list_url(review_request, local_site_name), draft_file_attachment_item_mimetype, post_data, [review_request])
def test_post_file_attachments_with_permission_denied_error(self): """Testing the POST review-requests/<id>/draft/file-attachments/ API with Permission Denied error""" review_request = self.create_review_request() self.assertNotEqual(review_request.submitter, self.user) f = open(self._getTrophyFilename(), "r") self.assert_(f) rsp = self.apiPost( get_draft_file_attachment_list_url(review_request), { 'caption': 'Trophy', 'path': f, }, expected_status=403) f.close() self.assertEqual(rsp['stat'], 'fail') self.assertEqual(rsp['err']['code'], PERMISSION_DENIED.code)
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) if post_valid_data: post_data = { 'path': open(self._getTrophyFilename(), 'r'), 'caption': 'New caption', } else: post_data = {} return (get_draft_file_attachment_list_url(review_request, local_site_name), draft_file_attachment_item_mimetype, post_data, [review_request])
def test_get_with_non_owner_superuser(self): """Testing the GET review-requests/<id>/draft/file-attachments/ API with non-owner as superuser """ review_request = self.create_review_request(submitter=self.user, publish=True) attachment = self.create_file_attachment(review_request, draft=True) user = self._login_user(admin=True) self.assertNotEqual(user, review_request.submitter) rsp = self.api_get( get_draft_file_attachment_list_url(review_request), expected_mimetype=draft_file_attachment_list_mimetype) self.assertEqual(rsp['stat'], 'ok') attachments = rsp['draft_file_attachments'] self.assertEqual(len(attachments), 1) self.assertEqual(attachments[0]['id'], attachment.pk)