def test_failure(self): bug = { 'commits': ['abcd123'], 'needed_on': ['v1'], 'already_fixed_on': [], 'flags_to_set': { }, 'uplift_status': { 'abcd123': { 'success': {}, 'failure': ['v1'] } } } with patch('gaia_uplift.bzapi.update_bug') as update_bug, \ patch('gaia_uplift.git.sort_commits') as sort_commits, \ patch('gaia_uplift.bzapi.fetch_complete_bug') as fetch_bug, \ patch('gaia_uplift.reporting.merge_script') as merge_script: sort_commits.return_value = ['abcd123'] merge_script.return_value = 'a_merge_script' bug_data = { 'comments': [], 'assigned_to': {'name': 'testuser'} } fetch_bug.return_value = bug_data expected_flags = subject.make_needinfo(bug_data) msg = subject.generate_bad_bug_msg(None, bug) self.assertIsNotNone(msg) update_bug.side_effect = Exception with self.assertRaises(subject.FailedToComment): subject.bad_bug_comment(None, '123456', bug) update_bug.assert_called_once_with( '123456', comment=msg, values=bug['flags_to_set'], flags=expected_flags)
def test_short_circuit(self): bug_data = { 'comments': [ {'text': 'git cherry-pick'} ] } with patch('gaia_uplift.bzapi.fetch_complete_bug') as fetch_bug: fetch_bug.return_value = bug_data self.assertIsNone(subject.bad_bug_comment(None, '123456', {}))