def test_publish_review_no_count_change(self): fixture = load_fixture('comments_current.json') self.pr.review_comments.return_value = [ GhIssueComment(f) for f in json.loads(fixture) ] problems = Problems() # Match the line/positions in comments_current.json filename_1 = 'Console/Command/Task/AssetBuildTask.php' errors = ( Comment(filename_1, 40, 40, '2. Something bad'), Comment(filename_1, 87, 87, '1. Something bad'), Comment(filename_1, 89, 89, '2. Something bad'), ) problems.add_many(errors) problems.set_changes([1]) sha = 'abc123' config = build_review_config(fixer_ini, {'SUMMARY_THRESHOLD': 1}) review = Review(self.repo, self.pr, config) review.publish_summary = Mock() review.publish_status = Mock() review.publish_review(problems, sha) # Ensure publish_status(True) means the status=failed review.publish_status.assert_called_with(True)
def test_filter_existing__removes_duplicates(self): fixture_data = load_fixture('comments_current.json') self.pr.review_comments.return_value = [ GhIssueComment(f) for f in json.loads(fixture_data) ] problems = Problems() review = Review(self.repo, self.pr, self.config) filename_1 = "Routing/Filter/AssetCompressor.php" filename_2 = "View/Helper/AssetCompressHelper.php" problems.add(filename_1, 87, 'A pithy remark') problems.add(filename_1, 87, 'Something different') problems.add(filename_2, 88, 'I <3 it') problems.add(filename_2, 89, 'Not such a good comment') review.load_comments() review.remove_existing(problems) res = problems.all(filename_1) eq_(1, len(res)) expected = Comment(filename_1, 87, 87, 'A pithy remark\nSomething different') eq_(res[0], expected) res = problems.all(filename_2) eq_(1, len(res)) expected = Comment(filename_2, 88, 88, 'I <3 it') eq_(res[0], expected)
def test_load_comments__none_active(self): fixture_data = load_fixture('comments_none_current.json') self.pr.review_comments.return_value = [GhIssueComment(f) for f in json.loads(fixture_data)] review = Review(self.gh, 2) review.load_comments() eq_(0, len(review.comments("View/Helper/AssetCompressHelper.php")))
def test_load_comments__none_active(self): fixture_data = load_fixture('comments_none_current.json') self.pr.review_comments.return_value = map(lambda f: GhIssueComment(f), json.loads(fixture_data)) review = Review(self.repo, self.pr) review.load_comments() eq_(0, len(review.comments("View/Helper/AssetCompressHelper.php")))
def test_load_comments__none_active(self): fixture_data = load_fixture('comments_none_current.json') self.pr.review_comments.return_value = [ GhIssueComment(f, self.session) for f in json.loads(fixture_data) ] review = Review(self.repo, self.pr, self.config) review.load_comments() filename = "View/Helper/AssetCompressHelper.php" self.assertEqual(0, len(review.comments(filename)))
def test_load_comments__loads_comments(self): fixture_data = load_fixture('comments_current.json') self.pr.review_comments.return_value = [GhIssueComment(f) for f in json.loads(fixture_data)] review = Review(self.gh, 2) review.load_comments() filename = "Routing/Filter/AssetCompressor.php" res = review.comments(filename) eq_(1, len(res)) expected = Comment(filename, None, 87, "A pithy remark") eq_(expected, res[0]) filename = "View/Helper/AssetCompressHelper.php" res = review.comments(filename) eq_(2, len(res)) expected = Comment(filename, None, 40, "Some witty comment.") eq_(expected, res[0]) expected = Comment(filename, None, 89, "Not such a good comment") eq_(expected, res[1])
def test_publish_comment_threshold_checks(self): fixture = load_fixture('comments_current.json') self.pr.review_comments.return_value = [GhIssueComment(f) for f in json.loads(fixture)] problems = Problems() filename_1 = 'Console/Command/Task/AssetBuildTask.php' errors = ( (filename_1, 117, 'Something bad'), (filename_1, 119, 'Something bad'), ) problems.add_many(errors) problems.set_changes([1]) sha = 'abc123' review = Review(self.gh, 3) review.publish_summary = Mock() review.publish(problems, sha, 1) assert review.publish_summary.called, 'Should have been called.'
def test_publish_review_comment_threshold_checks(self): fixture = load_fixture('comments_current.json') self.pr.review_comments.return_value = [ GhIssueComment(f) for f in json.loads(fixture)] problems = Problems() filename_1 = 'Console/Command/Task/AssetBuildTask.php' errors = ( Comment(filename_1, 117, 117, 'Something bad'), Comment(filename_1, 119, 119, 'Something bad'), ) problems.add_many(errors) problems.set_changes([1]) sha = 'abc123' config = build_review_config(fixer_ini, {'SUMMARY_THRESHOLD': 1}) review = Review(self.repo, self.pr, config) review.publish_summary = Mock() review.publish_review(problems, sha) assert review.publish_summary.called, 'Should have been called.'
def test_publish_review_comment_threshold_checks(self): fixture = load_fixture('comments_current.json') self.pr.review_comments.return_value = [ GhIssueComment(f, self.session) for f in json.loads(fixture) ] problems = Problems() filename_1 = 'Console/Command/Task/AssetBuildTask.php' errors = ( Comment(filename_1, 117, 117, 'Something bad'), Comment(filename_1, 119, 119, 'Something bad'), ) problems.add_many(errors) problems.set_changes([1]) sha = 'abc123' tst_config = build_review_config(fixer_ini, {'SUMMARY_THRESHOLD': 1}) review = Review(self.repo, self.pr, tst_config) with patch('lintreview.review.Review.publish_summary') as pub_sum_mock: review.publish_review(problems, sha) self.assertTrue(pub_sum_mock.called)