~powersj/jenkins-launchpad-plugin/skip-message-check

« back to all changes in this revision

Viewing changes to tests/test_jenkinsutils.py

  • Committer: Tarmac
  • Author(s): Francis Ginther
  • Date: 2015-09-15 15:10:52 UTC
  • mfrom: (121.2.3 build-token)
  • Revision ID: tarmac-20150915151052-e9zv38k2tgfskdkz
Add a jenkins_build_token config parameter to allow triggering of jenkins jobs through the script trigger on newer versions of jenkins. Fixes: https://bugs.launchpad.net/bugs/1222975.

Approved by Vincent Ladeuil, PS Jenkins bot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
from mock import MagicMock, patch
2
 
from jlp import jenkinsutils, launchpadutils
 
2
from jlp import jenkinsutils, launchpadutils, _config
3
3
import unittest
4
4
from tests import JenkinsJSONData
5
5
from jlp import get_config_option
1002
1002
            self.assertEqual(j.build_job.call_count, 1)
1003
1003
            self.assertEqual(j.build_job.call_args[0][0], 'jenkins_job')
1004
1004
 
 
1005
    def test_start_jenkins_job_with_jenkins_build_token_none(self):
 
1006
        '''Verify that the default jenkins_build_token value results in a
 
1007
        token parameter of None being passed to jenkins.build_job API.'''
 
1008
        mp = MagicMock()
 
1009
        mp.web_link = 'http://my-example-url.com'
 
1010
        j = MagicMock()
 
1011
        j.get_job_info = MagicMock(return_value={'buildable': True})
 
1012
        j.build_job = MagicMock()
 
1013
        jenkins = MagicMock()
 
1014
        jenkins.Jenkins = MagicMock(return_value=j)
 
1015
        with patch('jlp.jenkinsutils.jenkins', new=jenkins):
 
1016
            jenkinsutils.start_jenkins_job(self.launchpad_user, 'url',
 
1017
                                           'jenkins_job', mp)
 
1018
            self.assertEqual(j.build_job.call_args[0][2], None)
 
1019
 
 
1020
    def test_start_jenkins_job_with_jenkins_build_token_set(self):
 
1021
        '''Verify that when jenkins_build_token value is set, the
 
1022
        jenkins.build_job API is called with the specified token.'''
 
1023
        mp = MagicMock()
 
1024
        mp.web_link = 'http://my-example-url.com'
 
1025
        j = MagicMock()
 
1026
        j.get_job_info = MagicMock(return_value={'buildable': True})
 
1027
        j.build_job = MagicMock()
 
1028
        jenkins = MagicMock()
 
1029
        token = 'JENKINS_BUILD_TOKEN'
 
1030
        # Override the default value with the specific token
 
1031
        _config['jenkins_build_token'] = token
 
1032
        jenkins.Jenkins = MagicMock(return_value=j)
 
1033
        with patch('jlp.jenkinsutils.jenkins', new=jenkins):
 
1034
            jenkinsutils.start_jenkins_job(self.launchpad_user, 'url',
 
1035
                                           'jenkins_job', mp)
 
1036
            self.assertEqual(j.build_job.call_args[0][2], token)
 
1037
 
1005
1038
 
1006
1039
class TestGetResultLine(TestWithScenarios):
1007
1040
    scenarios = [