python-jenkins/tests/base.py
Darragh Bailey f56e719ec9 Selectively mock requests_kerberos import
To ensure consistent test behaviour need to mock the import of
requests_kerberos to be None only for the test classes based
off of the default JenkinsTestBase

Change-Id: I79903a6b3e4a1677fa1a1980af9f73c84b385828
Depends-On: I56c9580be9a90f5cda7349a148d467e6ff4e9270
2018-06-01 15:07:12 +01:00

46 lines
1.0 KiB
Python

import sys
import mock
from testscenarios import TestWithScenarios
import jenkins
if sys.version_info < (2, 7):
import unittest2 as unittest
else:
import unittest
class JenkinsTestBase(TestWithScenarios, unittest.TestCase):
crumb_data = {
"crumb": "dab177f483b3dd93483ef6716d8e792d",
"crumbRequestField": ".crumb",
}
scenarios = [
('base_url1', dict(base_url='http://example.com')),
('base_url2', dict(base_url='http://example.com/jenkins'))
]
def setUp(self):
super(JenkinsTestBase, self).setUp()
self.request_kerberos_module_patcher = mock.patch(
'jenkins.requests_kerberos', None)
self.request_kerberos_module_patcher.start()
self.j = jenkins.Jenkins(self.base_url, 'test', 'test')
def tearDown(self):
self.request_kerberos_module_patcher.stop()
def make_url(self, path):
return u'{0}/{1}'.format(self.base_url, path)
def _check_requests(self, requests):
for req in requests:
req[0][0].prepare()