~asbalderson/jenkins-launchpad-plugin/templating

« back to all changes in this revision

Viewing changes to tests/test_voteOnMergeProposal.py

  • Committer: Alexander Balderson
  • Date: 2019-05-07 22:05:13 UTC
  • Revision ID: alexander.balderson@canonical.com-20190507220513-jqqhy3al9e25u7gl
add new lines to end of templates
add unit tests for voteOnMergeProposal

Show diffs side-by-side

added added

removed removed

Lines of Context:
108
108
                pass
109
109
            self.assertTrue(error_message in stderr.getvalue())
110
110
 
111
 
    # test approve MP
112
 
 
113
 
    # test disapprove MP
114
 
 
115
 
    # no commit message
 
111
    @patch('sys.argv')
 
112
    @patch('jlp.commands.voteOnMergeProposal.launchpadutils.get_mp_handle_from_url')
 
113
    @patch('jlp.launchpad.report_to_launchpad')
 
114
    @patch('jlp.commands.voteOnMergeProposal.launchpadutils.get_template_args')
 
115
    @patch('jlp.commands.voteOnMergeProposal.get_jinja_environment')
 
116
    def test_passed_vote(self, gje, gta, rtl, gmphandle, sys_argv):
 
117
        """Vote on a proposal which passed."""
 
118
 
 
119
        sys_argv = ['voteOnMergeProposal.py',
 
120
                    '--status=PASSED',
 
121
                    '--build-url=http://s-jenkins.ubuntu-ci/job/' +
 
122
                    'faux-dbus-test-runner-ci/configure',
 
123
                    '--revision=66',
 
124
                    '--branch=lp:~mrazik/faux-dbus-test-runner/yar8',
 
125
                    '--merge-proposal=https://code.launchpad.net/~mrazik/' +
 
126
                    'faux-dbus-test-runner/yar8/+merge/106113']
 
127
 
 
128
        gmphandle.return_value = 'Launchpad_mp'
 
129
        gta.return_value = {
 
130
            'result': 'PASSED',
 
131
            'revision': '66'
 
132
        }
 
133
        ret = voteOnMergeProposal()
 
134
        environment = MagicMock
 
135
        gje.return_value = environment
 
136
        gt_mock = MagicMock
 
137
        environment.get_template.return_value = gt_mock
 
138
        gt_mock.return_value = MagicMock
 
139
        self.assertEqual(ret, 0)
 
140
        rtl.assert_called_once()
 
141
        gt_mock.assert_called_with('ci_test.j2')
 
142
 
 
143
 
 
144
    @patch('sys.argv')
 
145
    @patch('jlp.commands.voteOnMergeProposal.launchpadutils.get_mp_handle_from_url')
 
146
    @patch('jlp.launchpad.report_to_launchpad')
 
147
    @patch('jlp.launchpadutils.is_commit_message_set')
 
148
    @patch('jlp.commands.voteOnMergeProposal.launchpadutils.get_template_args')
 
149
    @patch('jlp.commands.voteOnMergeProposal.get_jinja_environment')
 
150
    def test_no_commit_message_set(self, gje, gta, icms, rtl, gmphandle, sys_argv):
 
151
        """Vote on a proposal where tests passed but no commit message
 
152
           was set."""
 
153
 
 
154
        merge_proposal = 'https://code.launchpad.net/~mrazik/' + \
 
155
                         'faux-dbus-test-runner/yar8/+merge/106113'
 
156
        sys_argv = ['voteOnMergeProposal.py',
 
157
                    '--status=PASSED',
 
158
                    '--build-url=http://s-jenkins.ubuntu-ci/job/' +
 
159
                    'faux-dbus-test-runner-ci/configure',
 
160
                    '--revision=66',
 
161
                    '--branch=lp:~mrazik/faux-dbus-test-runner/yar8',
 
162
                    '--merge-proposal=' + merge_proposal]
 
163
 
 
164
        gmphandle.return_value = 'Launchpad_mp'
 
165
        gta.return_value = {
 
166
            'result': 'PASSED',
 
167
            'revision': '66',
 
168
            'build_url': 'http://s-jenkins.ubuntu-ci/job/' +
 
169
                         'faux-dbus-test-runner-ci/configure'
 
170
        }
 
171
        icms.return_value = False
 
172
        environment = MagicMock
 
173
        gje.return_value = environment
 
174
        gt_mock = MagicMock
 
175
        environment.get_template.return_value = gt_mock
 
176
        gt_mock.return_value = MagicMock
 
177
        
 
178
        ret = voteOnMergeProposal()
 
179
        self.assertEqual(ret, 0)
 
180
        gt_mock.assert_called_with('no_commit.j2')