def _postNewScreenshotComment(self, review_request, review_id, screenshot, comment_text, x, y, w, h, issue_opened=None, issue_status=None): """Creates a screenshot comment and returns the payload response.""" if review_request.local_site: local_site_name = review_request.local_site.name else: local_site_name = None post_data = { 'screenshot_id': screenshot.id, 'text': comment_text, 'x': x, 'y': y, 'w': w, 'h': h, } if issue_opened is not None: post_data['issue_opened'] = issue_opened if issue_status is not None: post_data['issue_status'] = issue_status review = Review.objects.get(pk=review_id) rsp = self.apiPost( get_screenshot_comment_list_url(review, local_site_name), post_data, expected_mimetype=screenshot_comment_item_mimetype) self.assertEqual(rsp['stat'], 'ok') return rsp
def test_get_screenshot_comments_with_site(self): """Testing the GET review-requests/<id>/screenshots/<id>/comments/ API with a local site""" comment_text = 'This is a test comment.' x, y, w, h = (2, 2, 10, 10) user = self._login_user(local_site=True) review_request = self.create_review_request(with_local_site=True, publish=True) screenshot = self.create_screenshot(review_request) review = self.create_review(review_request, user=user) self._postNewScreenshotComment(review_request, review.id, screenshot, comment_text, x, y, w, h) rsp = self.apiGet( get_screenshot_comment_list_url(review, self.local_site_name), expected_mimetype=screenshot_comment_list_mimetype) self.assertEqual(rsp['stat'], 'ok') comments = ScreenshotComment.objects.filter(screenshot=screenshot) rsp_comments = rsp['screenshot_comments'] self.assertEqual(len(rsp_comments), comments.count()) for i in range(0, len(comments)): self.assertEqual(rsp_comments[i]['text'], comments[i].text) self.assertEqual(rsp_comments[i]['x'], comments[i].x) self.assertEqual(rsp_comments[i]['y'], comments[i].y) self.assertEqual(rsp_comments[i]['w'], comments[i].w) self.assertEqual(rsp_comments[i]['h'], comments[i].h)
def _postNewScreenshotComment(self, review_request, review_id, screenshot, comment_text, x, y, w, h, issue_opened=None, issue_status=None): """Creates a screenshot comment and returns the payload response.""" if review_request.local_site: local_site_name = review_request.local_site.name else: local_site_name = None post_data = { 'screenshot_id': screenshot.id, 'text': comment_text, 'x': x, 'y': y, 'w': w, 'h': h, } if issue_opened is not None: post_data['issue_opened'] = issue_opened if issue_status is not None: post_data['issue_status'] = issue_status review = Review.objects.get(pk=review_id) rsp = self.apiPost( get_screenshot_comment_list_url(review, local_site_name), post_data, expected_mimetype=screenshot_comment_item_mimetype) self.assertEqual(rsp['stat'], 'ok') return rsp
def test_get_screenshot_comments_with_site(self): """Testing the GET review-requests/<id>/screenshots/<id>/comments/ API with a local site""" comment_text = 'This is a test comment.' x, y, w, h = (2, 2, 10, 10) user = self._login_user(local_site=True) review_request = self.create_review_request(with_local_site=True, publish=True) screenshot = self.create_screenshot(review_request) review = self.create_review(review_request, user=user) self._postNewScreenshotComment(review_request, review.id, screenshot, comment_text, x, y, w, h) rsp = self.apiGet(get_screenshot_comment_list_url( review, self.local_site_name), expected_mimetype=screenshot_comment_list_mimetype) self.assertEqual(rsp['stat'], 'ok') comments = ScreenshotComment.objects.filter(screenshot=screenshot) rsp_comments = rsp['screenshot_comments'] self.assertEqual(len(rsp_comments), comments.count()) for i in range(0, len(comments)): self.assertEqual(rsp_comments[i]['text'], comments[i].text) self.assertEqual(rsp_comments[i]['x'], comments[i].x) self.assertEqual(rsp_comments[i]['y'], comments[i].y) self.assertEqual(rsp_comments[i]['w'], comments[i].w) self.assertEqual(rsp_comments[i]['h'], comments[i].h)
def test_get_review_screenshot_comments(self): """Testing the GET review-requests/<id>/reviews/draft/screenshot-comments/ API""" review_request = self.create_review_request(publish=True) screenshot = self.create_screenshot(review_request) review = self.create_review(review_request, user=self.user) comment = self.create_screenshot_comment(review, screenshot) rsp = self.apiGet(get_screenshot_comment_list_url(review), expected_mimetype=screenshot_comment_list_mimetype) self.assertEqual(rsp['stat'], 'ok') self.assertTrue('screenshot_comments' in rsp) self.assertEqual(len(rsp['screenshot_comments']), 1) self.assertEqual(rsp['screenshot_comments'][0]['text'], comment.text)
def test_get_review_screenshot_comments(self): """Testing the GET review-requests/<id>/reviews/draft/screenshot-comments/ API""" review_request = self.create_review_request(publish=True) screenshot = self.create_screenshot(review_request) review = self.create_review(review_request, user=self.user) comment = self.create_screenshot_comment(review, screenshot) rsp = self.apiGet(get_screenshot_comment_list_url(review), expected_mimetype=screenshot_comment_list_mimetype) self.assertEqual(rsp['stat'], 'ok') self.assertTrue('screenshot_comments' in rsp) self.assertEqual(len(rsp['screenshot_comments']), 1) self.assertEqual(rsp['screenshot_comments'][0]['text'], comment.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) screenshot = self.create_screenshot(review_request) if populate_items: review = self.create_review(review_request, publish=True) items = [self.create_screenshot_comment(review, screenshot)] else: items = [] return (get_screenshot_comment_list_url(screenshot, local_site_name), screenshot_comment_list_mimetype, items)
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) screenshot = self.create_screenshot(review_request) if populate_items: review = self.create_review(review_request, publish=True) items = [self.create_screenshot_comment(review, screenshot)] else: items = [] return (get_screenshot_comment_list_url(screenshot, local_site_name), screenshot_comment_list_mimetype, items)
def test_get_review_screenshot_comments_with_site(self): """Testing the GET review-requests/<id>/reviews/draft/screenshot-comments/ APIs with a local site""" user = self._login_user(local_site=True) review_request = self.create_review_request(with_local_site=True, publish=True) screenshot = self.create_screenshot(review_request) review = self.create_review(review_request, user=user) comment = self.create_screenshot_comment(review, screenshot) rsp = self.apiGet( get_screenshot_comment_list_url(review, self.local_site_name), expected_mimetype=screenshot_comment_list_mimetype) self.assertEqual(rsp['stat'], 'ok') self.assertTrue('screenshot_comments' in rsp) self.assertEqual(len(rsp['screenshot_comments']), 1) self.assertEqual(rsp['screenshot_comments'][0]['text'], comment.text)
def test_get_review_screenshot_comments_with_site(self): """Testing the GET review-requests/<id>/reviews/draft/screenshot-comments/ APIs with a local site""" user = self._login_user(local_site=True) review_request = self.create_review_request(with_local_site=True, publish=True) screenshot = self.create_screenshot(review_request) review = self.create_review(review_request, user=user) comment = self.create_screenshot_comment(review, screenshot) rsp = self.apiGet(get_screenshot_comment_list_url( review, self.local_site_name), expected_mimetype=screenshot_comment_list_mimetype) self.assertEqual(rsp['stat'], 'ok') self.assertTrue('screenshot_comments' in rsp) self.assertEqual(len(rsp['screenshot_comments']), 1) self.assertEqual(rsp['screenshot_comments'][0]['text'], comment.text)
def test_get_screenshot_comments_with_site_no_access(self): """Testing the GET review-requests/<id>/screenshots/<id>/comments/ API with a local site and Permission Denied error""" comment_text = 'This is a test comment.' x, y, w, h = (2, 2, 10, 10) user = self._login_user(local_site=True) review_request = self.create_review_request(with_local_site=True, publish=True) screenshot = self.create_screenshot(review_request) review = self.create_review(review_request, user=user) self._postNewScreenshotComment(review_request, review.id, screenshot, comment_text, x, y, w, h) self._login_user() rsp = self.apiGet( get_screenshot_comment_list_url(review, self.local_site_name), expected_status=403) self.assertEqual(rsp['stat'], 'fail') self.assertEqual(rsp['err']['code'], PERMISSION_DENIED.code)
def test_get_screenshot_comments_with_site_no_access(self): """Testing the GET review-requests/<id>/screenshots/<id>/comments/ API with a local site and Permission Denied error""" comment_text = 'This is a test comment.' x, y, w, h = (2, 2, 10, 10) user = self._login_user(local_site=True) review_request = self.create_review_request(with_local_site=True, publish=True) screenshot = self.create_screenshot(review_request) review = self.create_review(review_request, user=user) self._postNewScreenshotComment(review_request, review.id, screenshot, comment_text, x, y, w, h) self._login_user() rsp = self.apiGet(get_screenshot_comment_list_url( review, self.local_site_name), expected_status=403) self.assertEqual(rsp['stat'], 'fail') self.assertEqual(rsp['err']['code'], PERMISSION_DENIED.code)
def setup_http_not_allowed_list_test(self, user): review_request = self.create_review_request(submitter=user, publish=True) screenshot = self.create_screenshot(review_request) return get_screenshot_comment_list_url(screenshot)
def setup_review_request_child_test(self, review_request): screenshot = self.create_screenshot(review_request) return (get_screenshot_comment_list_url(screenshot), screenshot_comment_list_mimetype)
def setup_http_not_allowed_list_test(self, user): review_request = self.create_review_request(submitter=user, publish=True) screenshot = self.create_screenshot(review_request) return get_screenshot_comment_list_url(screenshot)
def setup_review_request_child_test(self, review_request): screenshot = self.create_screenshot(review_request) return (get_screenshot_comment_list_url(screenshot), screenshot_comment_list_mimetype)