def test_put_screenshot(self): """Testing the PUT review-requests/<id>/draft/screenshots/<id>/ API""" draft_caption = 'The new caption' review_request = self.create_review_request(submitter=self.user, publish=True) f = open(self._getTrophyFilename(), "r") rsp = self.apiPost(get_screenshot_draft_list_url(review_request), { 'caption': 'Trophy', 'path': f, }, expected_mimetype=screenshot_draft_item_mimetype) f.close() review_request.publish(self.user) screenshot = Screenshot.objects.get(pk=rsp['draft_screenshot']['id']) # Now modify the caption. rsp = self.apiPut(get_screenshot_draft_item_url( review_request, screenshot.id), {'caption': draft_caption}, expected_mimetype=screenshot_draft_item_mimetype) self.assertEqual(rsp['stat'], 'ok') draft = review_request.get_draft(self.user) self.assertNotEqual(draft, None) screenshot = Screenshot.objects.get(pk=screenshot.id) self.assertEqual(screenshot.draft_caption, draft_caption)
def test_post_screenshots_with_site(self): """Testing the POST review-requests/<id>/draft/screenshots/ API with a local site""" self._login_user(local_site=True) review_request = self.create_review_request(with_local_site=True, publish=True) f = open(self._getTrophyFilename(), 'r') post_data = { 'path': f, 'caption': 'Trophy', } rsp = self.apiPost(get_screenshot_draft_list_url( review_request, self.local_site_name), post_data, expected_mimetype=screenshot_draft_item_mimetype) f.close() self.assertEqual(rsp['stat'], 'ok') self.assertEqual(rsp['draft_screenshot']['caption'], 'Trophy') draft = review_request.get_draft(User.objects.get(username='******')) self.assertNotEqual(draft, None) return review_request, rsp['draft_screenshot']['id']
def test_post_with_site(self): """Testing the POST review-requests/<id>/draft/screenshots/ API with a local site """ self._login_user(local_site=True) review_request = self.create_review_request(with_local_site=True, publish=True) f = open(self._getTrophyFilename(), 'r') post_data = { 'path': f, 'caption': 'Trophy', } rsp = self.apiPost( get_screenshot_draft_list_url(review_request, self.local_site_name), post_data, expected_mimetype=screenshot_draft_item_mimetype) f.close() self.assertEqual(rsp['stat'], 'ok') self.assertEqual(rsp['draft_screenshot']['caption'], 'Trophy') draft = review_request.get_draft(User.objects.get(username='******')) self.assertNotEqual(draft, None) return review_request, rsp['draft_screenshot']['id']
def test_put(self): """Testing the PUT review-requests/<id>/draft/screenshots/<id>/ API""" draft_caption = 'The new caption' review_request = self.create_review_request(submitter=self.user, publish=True) f = open(self._getTrophyFilename(), "r") rsp = self.apiPost( get_screenshot_draft_list_url(review_request), { 'caption': 'Trophy', 'path': f, }, expected_mimetype=screenshot_draft_item_mimetype) f.close() review_request.publish(self.user) screenshot = Screenshot.objects.get(pk=rsp['draft_screenshot']['id']) # Now modify the caption. rsp = self.apiPut( get_screenshot_draft_item_url(review_request, screenshot.id), {'caption': draft_caption}, expected_mimetype=screenshot_draft_item_mimetype) self.assertEqual(rsp['stat'], 'ok') draft = review_request.get_draft(self.user) self.assertNotEqual(draft, None) screenshot = Screenshot.objects.get(pk=screenshot.id) self.assertEqual(screenshot.draft_caption, draft_caption)
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, publish=True) return (get_screenshot_draft_list_url(review_request, local_site_name), screenshot_draft_item_mimetype, { 'caption': 'Trophy', 'path': open(self.get_sample_image_filename(), 'rb'), }, [review_request])
def test_post_screenshots_with_site_no_access(self): """Testing the POST review-requests/<id>/draft/screenshots/ API with a local site and Permission Denied error""" review_request = self.create_review_request(with_local_site=True) f = open(self._getTrophyFilename(), 'r') rsp = self.apiPost(get_screenshot_draft_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_screenshots_with_site_no_access(self): """Testing the POST review-requests/<id>/draft/screenshots/ API with a local site and Permission Denied error""" review_request = self.create_review_request(with_local_site=True) f = open(self._getTrophyFilename(), 'r') rsp = self.apiPost( get_screenshot_draft_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_screenshots_with_permission_denied_error(self): """Testing the POST review-requests/<id>/draft/screenshots/ API with Permission Denied error""" review_request = self.create_review_request() self.assertNotEqual(review_request.submitter, self.user) f = open(self._getTrophyFilename(), "r") rsp = self.apiPost(get_screenshot_draft_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_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) if populate_items: items = [self.create_screenshot(review_request)] # The first screenshot will be automatically copied into the draft. ReviewRequestDraft.create(review_request) items.append(self.create_screenshot(review_request, draft=True)) else: items = [] return (get_screenshot_draft_list_url(review_request, local_site_name), screenshot_draft_list_mimetype, items)
def test_post_screenshots_with_permission_denied_error(self): """Testing the POST review-requests/<id>/draft/screenshots/ API with Permission Denied error""" review_request = self.create_review_request() self.assertNotEqual(review_request.submitter, self.user) f = open(self._getTrophyFilename(), "r") rsp = self.apiPost( get_screenshot_draft_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)