
The test for kerberos was dropped in 34cca0c4d939b0b681d34cf204ae0be53e46069e, as it was not needed for the simpler implementation with requests. Let's drop the requests-kerberos from test dependencies as well, as it has only caused troubles in other tests - at least for me. One had to set jenkins.requests_kerberos to None, as was done in the tests.base.JenkinsTestBase. In places where it was not set to None, the jenkins.Jenkins.jenkins_open tried the kerberos authentication in addition to anonymous authentication on the /api/json endpoint. This was the case for tests.test_jenkins_sockets.JenkinsRequestTimeoutTests.test_jenkins_open_timeout where it has resulted in a different exception than was expected: Traceback (most recent call last): File "tests/test_jenkins_sockets.py", line 31, in test_jenkins_open_timeout j.jenkins_open(request, add_crumb=False) File "jenkins/__init__.py", line 533, in jenkins_open return self.jenkins_request(req, add_crumb, resolve_auth).text File "jenkins/__init__.py", line 547, in jenkins_request self._maybe_add_auth() File "jenkins/__init__.py", line 384, in _maybe_add_auth % '\n'.join(failures)) jenkins.JenkinsException: Unable to authenticate with any scheme: auth(kerberos) Error in request: HTTPConnectionPool(host='127.0.0.1', port=33921): Read timed out. (read timeout=0.1) auth(anonymous) Error in request: HTTPConnectionPool(host='127.0.0.1', port=33921): Read timed out. (read timeout=0.1) Change-Id: I45cbb3a666ee6a9ecbe628ca8b7f0b07dcfcb0eb
37 lines
816 B
Python
37 lines
816 B
Python
import sys
|
|
|
|
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.j = jenkins.Jenkins(self.base_url, 'test', 'test')
|
|
|
|
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()
|