7
7
class TestVoteOnMergeProposal(unittest.TestCase):
10
self.launchpad_agent_patch = patch('voteOnMergeProposal.LaunchpadAgent')
11
self.LaunchpadAgent = self.launchpad_agent_patch.start()
10
self.launchpad_trigger_patch = patch(
11
'voteOnMergeProposal.LaunchpadTrigger')
12
self.LaunchpadTrigger = self.launchpad_trigger_patch.start()
13
14
def tearDown(self):
14
self.launchpad_agent_patch.stop()
15
self.launchpad_trigger_patch.stop()
16
17
def test_gibberish(self):
17
18
"""Gibberish on the command line produces usage message."""
82
83
sys_argv = ['voteOnMergeProposal.py',
84
'--build-url="http://s-jenkins/job/faux-dbus-test-runner-ci/configure"',
85
'--build-url=http://s-jenkins/job/faux-dbus-test-runner-ci/configure',
86
'--merge-proposal="https://code.launchpad.net/~mrazik/faux-dbus-test-runner/yar8/+merge/106113"']
87
error_message = 'Error: unable to get branch from merge proposal.\n\
88
Please specify manually using -- branch.'
87
'--merge-proposal=https://code.launchpad.net/~mrazik/faux-dbus-test-runner/yar8/+merge/106113']
88
error_message = ('Error: unable to get branch from merge proposal.\n'+
89
'Please specify manually using -- branch.')
89
90
with patch('sys.argv', sys_argv), \
90
91
util.captured_stderr() as stderr, \
91
patch.object(self.LaunchpadAgent.return_value, 'get_branch_from_mp') as get_branch_from_mp:
92
patch.object(self.LaunchpadTrigger.return_value, 'get_branch_from_mp') as get_branch_from_mp:
92
93
get_branch_from_mp.return_value = None
93
94
with self.assertRaises(SystemExit) as e:
94
95
voteOnMergeProposal.main()
104
105
'--build-url="http://s-jenkins/job/faux-dbus-test-runner-ci/configure"',
106
107
'--branch="lp:~mrazik/faux-dbus-test-runner/yar8"',
107
'--merge-proposal="https://code.launchpad.net/~mrazik/faux-dbus-test-runner/yar8/+merge/106113"']
108
'--merge-proposal=https://code.launchpad.net/~mrazik/faux-dbus-test-runner/yar8/+merge/106113']
108
109
error_message = 'error: merge proposal relted to this branch was not found'
109
110
with patch('sys.argv', sys_argv), \
110
111
util.captured_stderr() as stderr, \
111
patch.object(self.LaunchpadAgent.return_value, 'get_merge_proposal') as get_merge_proposal:
112
patch.object(self.LaunchpadTrigger.return_value, 'get_merge_proposal') as get_merge_proposal:
112
113
get_merge_proposal.return_value = None
114
115
voteOnMergeProposal.main()
123
124
sys_argv = ['voteOnMergeProposal.py',
124
125
'--status=PASSED',
125
'--build-url="http://s-jenkins/job/faux-dbus-test-runner-ci/configure"',
126
'--build-url=http://s-jenkins/job/faux-dbus-test-runner-ci/configure',
127
'--branch="lp:~mrazik/faux-dbus-test-runner/yar8"',
128
'--merge-proposal="https://code.launchpad.net/~mrazik/faux-dbus-test-runner/yar8/+merge/106113"']
128
'--branch=lp:~mrazik/faux-dbus-test-runner/yar8',
129
'--merge-proposal=https://code.launchpad.net/~mrazik/faux-dbus-test-runner/yar8/+merge/106113']
129
130
with patch('sys.argv', sys_argv), \
130
131
util.captured_stderr() as stderr, \
131
132
patch('voteOnMergeProposal.sys.exit') as sys_exit, \
132
patch.object(self.LaunchpadAgent.return_value, 'get_merge_proposal') as get_merge_proposal, \
133
patch.object(self.LaunchpadAgent.return_value, 'hide_jenkins_url') as hide_jenkins_url, \
134
patch.object(self.LaunchpadAgent.return_value, 'approve_mp') as approve_mp:
133
patch.object(self.LaunchpadTrigger.return_value, 'get_merge_proposal') as get_merge_proposal, \
134
patch.object(self.LaunchpadTrigger.return_value, 'hide_jenkins_url') as hide_jenkins_url, \
135
patch.object(self.LaunchpadTrigger.return_value, 'approve_mp') as approve_mp:
135
136
get_merge_proposal.return_value = 'Launchpad_mp'
136
137
hide_jenkins_url.return_value = 'http://s-jenkins/job/faux-dbus-test-runner-ci/configure'
137
138
voteOnMergeProposal.main()
146
147
sys_argv = ['voteOnMergeProposal.py',
147
148
'--status=OHECK',
148
'--build-url="http://s-jenkins/job/faux-dbus-test-runner-ci/configure"',
149
'--build-url=http://s-jenkins/job/faux-dbus-test-runner-ci/configure',
150
151
'--branch="lp:~mrazik/faux-dbus-test-runner/yar8"',
151
'--merge-proposal="https://code.launchpad.net/~mrazik/faux-dbus-test-runner/yar8/+merge/106113"']
152
'--merge-proposal=https://code.launchpad.net/~mrazik/faux-dbus-test-runner/yar8/+merge/106113']
152
153
with patch('sys.argv', sys_argv), \
153
154
util.captured_stderr() as stderr, \
154
155
patch('voteOnMergeProposal.sys.exit') as sys_exit, \
155
patch.object(self.LaunchpadAgent.return_value, 'get_merge_proposal') as get_merge_proposal, \
156
patch.object(self.LaunchpadAgent.return_value, 'hide_jenkins_url') as hide_jenkins_url, \
157
patch.object(self.LaunchpadAgent.return_value, 'disapprove_mp') as disapprove_mp:
156
patch.object(self.LaunchpadTrigger.return_value, 'get_merge_proposal') as get_merge_proposal, \
157
patch.object(self.LaunchpadTrigger.return_value, 'hide_jenkins_url') as hide_jenkins_url, \
158
patch.object(self.LaunchpadTrigger.return_value, 'disapprove_mp') as disapprove_mp:
158
159
get_merge_proposal.return_value = 'Launchpad_mp'
159
160
hide_jenkins_url.return_value = 'http://s-jenkins/job/faux-dbus-test-runner-ci/configure'
160
161
voteOnMergeProposal.main()