def testCheckRevertStatusOfSuspectedCLFalsePositive(self, mock_fn, *_):
        mock_fn.return_value = {
            'commit_position': 1,
            'code_review_url': 'codereview.chromium.org/123',
            'review_server_host': 'codereview.chromium.org',
            'review_change_id': '123'
        }
        suspected_cl = WfSuspectedCL.Create('chromium', 'a1b2c3d4', 1)
        suspected_cl.revert_cl = RevertCL()

        check_reverted_cls._CheckRevertStatusOfSuspectedCL(suspected_cl)
        self.assertEqual(revert_cl_status.FALSE_POSITIVE,
                         suspected_cl.revert_cl.status)
    def testCheckRevertStatusOfSuspectedCLSheriffMuchFaster(self, mock_fn, *_):
        mock_fn.return_value = {
            'commit_position': 1,
            'code_review_url': 'codereview.chromium.org/123',
            'review_server_host': 'codereview.chromium.org',
            'review_change_id': '123'
        }
        suspected_cl = WfSuspectedCL.Create('chromium', 'a1b2c3d4', 1)
        suspected_cl.should_be_reverted = True

        check_reverted_cls._CheckRevertStatusOfSuspectedCL(suspected_cl)
        self.assertEqual(datetime(2017, 3, 15, 1, 7),
                         suspected_cl.sheriff_action_time)
    def testCheckRevertStatusOfSuspectedCLNoClDetails(self, mock_fn, *_):
        mock_fn.return_value = {
            'commit_position': 1,
            'code_review_url': 'codereview.chromium.org/123',
            'review_server_host': 'codereview.chromium.org',
            'review_change_id': '123'
        }
        suspected_cl = WfSuspectedCL.Create('chromium', 'a1b2c3d4', 1)
        suspected_cl.should_be_reverted = True

        self.assertEqual(
            (None, 'https://codereview.chromium.org/q/123', None),
            check_reverted_cls._CheckRevertStatusOfSuspectedCL(suspected_cl))
    def testCheckRevertStatusOfSuspectedCLRevertedNoCodeReview(
            self, mock_fn, _):
        mock_fn.return_value = {
            'commit_position': 1,
            'code_review_url': 'badhost.org/123',
            'review_server_host': 'badhost.org/123',
            'review_change_id': '123'
        }
        suspected_cl = WfSuspectedCL.Create('chromium', 'a1b2c3d4', 1)
        suspected_cl.revert_cl = RevertCL()

        self.assertEqual(
            (None, None, None),
            check_reverted_cls._CheckRevertStatusOfSuspectedCL(suspected_cl))
    def testCheckRevertStatusOfSuspectedCLReverted(self, mock_fn, *_):
        mock_fn.return_value = {
            'commit_position': 1,
            'code_review_url': 'codereview.chromium.org/q/123',
            'review_server_host': 'codereview.chromium.org',
            'review_change_id': '123'
        }
        suspected_cl = WfSuspectedCL.Create('chromium', 'a1b2c3d4', 1)
        suspected_cl.revert_cl = RevertCL()

        result = check_reverted_cls._CheckRevertStatusOfSuspectedCL(
            suspected_cl)

        self.assertTrue(result[0])
        self.assertEqual(result[1], 'https://codereview.chromium.org/q/123')
        self.assertEqual(result[2], revert_cl_status.COMMITTED)
        self.assertEqual(revert_cl_status.COMMITTED,
                         suspected_cl.revert_cl.status)
 def testCheckRevertStatusOfSuspectedCLNoRevert(self):
     suspected_cl = WfSuspectedCL.Create('chromium', 'a1b2c3d4', 1)
     self.assertEqual(
         (False, None, None),
         check_reverted_cls._CheckRevertStatusOfSuspectedCL(suspected_cl))