5
5
from mock import MagicMock, patch
6
6
from jenkins import JenkinsException
7
7
from tests import JenkinsJSONData
8
from testscenarios import TestWithScenarios
9
from lazr.restfulclient.errors import Unauthorized
10
12
class LaunchpadTriggerInstantiation(unittest.TestCase):
156
157
self.launchpadTrigger.start_jenkins_job('url', 'jenkins_job', mp)
157
158
self.assertEqual(mp.createComment.call_count, 1)
160
def test_start_jenkins_job_and_raise_unauthorized(self):
162
mp.web_link = 'http://my-example-url.com'
163
mp.nominateReviewer.side_effect = Unauthorized("unauthorized", '')
165
j.get_job_info = MagicMock(return_value={'buildable': True})
166
jenkinsInstance = MagicMock()
167
jenkinsInstance.Jenkins = MagicMock(return_value=j)
168
with patch('launchpad.jenkins', new=jenkinsInstance):
169
ret = self.launchpadTrigger.start_jenkins_job('url',
172
self.assertEqual(mp.createComment.call_count, 0)
173
self.assertEqual(ret, False)
159
175
def test_start_nonbuildable_jenkins_job(self):
424
440
self.launchpadTrigger = launchpad.LaunchpadTrigger()
443
class TestGetCommitMessage(TestWithScenarios, TestLaunchpadTrigger):
445
('no_commit_message',
447
'commit_message': None,
448
'description': 'description',
449
'use_description': False,
452
('no_commit_message_fallback_to_description',
454
'commit_message': None,
455
'description': 'description',
456
'use_description': True,
457
'expected': 'description'
459
('commit_message_and_description',
461
'commit_message': 'commit_message',
462
'description': 'description',
463
'use_description': True,
464
'expected': 'commit_message'
466
('no_commit_message_and_no_description',
468
'commit_message': '',
470
'use_description': True,
475
def test_get_commit_message(self):
477
mp.commit_message = self.commit_message
478
mp.description = self.description
479
use_description = self.use_description
481
message = self.launchpadTrigger.get_commit_message(mp, use_description)
482
self.assertEqual(message, self.expected)
427
485
class LaunchpadTriggerCIWithWrongUser(TestLaunchpadTrigger):
429
487
super(LaunchpadTriggerCIWithWrongUser, self).setUp()