
Split existing tests into separate files and classes to make it easier to select a subset to be executed when making modifications. Add some simple consolidations of test data as example improvements that can be extended by consolidating complete tests or sets of tests. Change-Id: If2380e6f4e848ba68f05868e2ef4186d7912952b
51 lines
1.8 KiB
Python
51 lines
1.8 KiB
Python
from mock import patch
|
|
|
|
import jenkins
|
|
from tests.jobs.base import JenkinsJobsTestBase
|
|
|
|
|
|
class JenkinsBuildJobTest(JenkinsJobsTestBase):
|
|
|
|
@patch.object(jenkins.Jenkins, 'jenkins_open')
|
|
def test_simple(self, jenkins_mock):
|
|
jenkins_mock.side_effect = [
|
|
{'foo': 'bar'},
|
|
]
|
|
|
|
build_info = self.j.build_job(u'Test Job')
|
|
|
|
self.assertEqual(jenkins_mock.call_args[0][0].get_full_url(),
|
|
u'http://example.com/job/Test%20Job/build')
|
|
self.assertEqual(build_info, {'foo': 'bar'})
|
|
self._check_requests(jenkins_mock.call_args_list)
|
|
|
|
@patch.object(jenkins.Jenkins, 'jenkins_open')
|
|
def test_with_token(self, jenkins_mock):
|
|
jenkins_mock.side_effect = [
|
|
{'foo': 'bar'},
|
|
]
|
|
|
|
build_info = self.j.build_job(u'TestJob', token='some_token')
|
|
|
|
self.assertEqual(jenkins_mock.call_args[0][0].get_full_url(),
|
|
u'http://example.com/job/TestJob/build?token=some_token')
|
|
self.assertEqual(build_info, {'foo': 'bar'})
|
|
self._check_requests(jenkins_mock.call_args_list)
|
|
|
|
@patch.object(jenkins.Jenkins, 'jenkins_open')
|
|
def test_with_parameters_and_token(self, jenkins_mock):
|
|
jenkins_mock.side_effect = [
|
|
{'foo': 'bar'},
|
|
]
|
|
|
|
build_info = self.j.build_job(
|
|
u'TestJob',
|
|
parameters={'when': 'now', 'why': 'because I felt like it'},
|
|
token='some_token')
|
|
|
|
self.assertTrue('token=some_token' in jenkins_mock.call_args[0][0].get_full_url())
|
|
self.assertTrue('when=now' in jenkins_mock.call_args[0][0].get_full_url())
|
|
self.assertTrue('why=because+I+felt+like+it' in jenkins_mock.call_args[0][0].get_full_url())
|
|
self.assertEqual(build_info, {'foo': 'bar'})
|
|
self._check_requests(jenkins_mock.call_args_list)
|