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 setup_basic_get_test(self, user, with_local_site, local_site_name): review_request = self.create_review_request( with_local_site=with_local_site, submitter=user, publish=True) screenshot = self.create_screenshot(review_request, draft=True) return (get_screenshot_draft_item_url(review_request, screenshot.pk, local_site_name), screenshot_draft_item_mimetype, screenshot)
def test_put_screenshot_with_site_no_access(self): """Testing the PUT review-requests/<id>/draft/screenshots/<id>/ API with a local site and Permission Denied error""" review_request, screenshot_id = self.test_post_screenshots_with_site() review_request.publish(User.objects.get(username='******')) self._login_user() rsp = self.apiPut(get_screenshot_draft_item_url( review_request, screenshot_id, self.local_site_name), {'caption': 'test'}, expected_status=403) self.assertEqual(rsp['stat'], 'fail') self.assertEqual(rsp['err']['code'], PERMISSION_DENIED.code)
def setup_basic_put_test(self, user, with_local_site, local_site_name, put_valid_data): review_request = self.create_review_request( with_local_site=with_local_site, submitter=user, publish=True) screenshot = self.create_screenshot(review_request, draft=True) if put_valid_data: put_data = { 'caption': 'The new caption', } else: put_data = {} return (get_screenshot_draft_item_url(review_request, screenshot.pk, local_site_name), screenshot_draft_item_mimetype, put_data, screenshot, [review_request])
def test_put_screenshot_with_site(self): """Testing the PUT review-requests/<id>/draft/screenshots/<id>/ API with a local site""" draft_caption = 'The new caption' user = User.objects.get(username='******') review_request, screenshot_id = self.test_post_screenshots_with_site() review_request.publish(user) rsp = self.apiPut(get_screenshot_draft_item_url( review_request, screenshot_id, self.local_site_name), {'caption': draft_caption}, expected_mimetype=screenshot_draft_item_mimetype) self.assertEqual(rsp['stat'], 'ok') draft = review_request.get_draft(user) self.assertNotEqual(draft, None) screenshot = Screenshot.objects.get(pk=screenshot_id) self.assertEqual(screenshot.draft_caption, draft_caption)