update test_gssapi.py for requests_kerberos.__version__ checking
This commit is contained in:
parent
6c5924b282
commit
80b4bd1ad6
1 changed files with 39 additions and 16 deletions
|
|
@ -1,13 +1,14 @@
|
|||
from __future__ import absolute_import
|
||||
import mock
|
||||
|
||||
import os
|
||||
import unittest
|
||||
|
||||
import mock
|
||||
|
||||
import koji
|
||||
|
||||
|
||||
class TestGSSAPI(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.session = koji.ClientSession('https://koji.example.com/kojihub', {})
|
||||
self.session._callMethod = mock.MagicMock(name='_callMethod')
|
||||
|
|
@ -26,33 +27,55 @@ class TestGSSAPI(unittest.TestCase):
|
|||
old_environ = dict(**os.environ)
|
||||
self.session.gssapi_login()
|
||||
self.session._callMethod.assert_called_once_with('sslLogin', [None],
|
||||
retry=False)
|
||||
retry=False)
|
||||
self.assertEqual(old_environ, dict(**os.environ))
|
||||
|
||||
@mock.patch('requests_kerberos.__version__', new='0.9.0')
|
||||
@mock.patch('requests_kerberos.HTTPKerberosAuth')
|
||||
def test_gssapi_login_keytab(self, HTTPKerberosAuth_mock):
|
||||
principal = 'user@EXAMPLE.COM'
|
||||
keytab = '/path/to/keytab'
|
||||
ccache = '/path/to/cache'
|
||||
old_environ = dict(**os.environ)
|
||||
self.session.gssapi_login(principal, keytab, ccache)
|
||||
self.session._callMethod.assert_called_once_with('sslLogin', [None],
|
||||
retry=False)
|
||||
self.assertEqual(old_environ, dict(**os.environ))
|
||||
current_version = koji.requests_kerberos.__version__
|
||||
accepted_versions = ['0.12.0.beta1',
|
||||
'0.12.0dev',
|
||||
'0.12.0a1',
|
||||
'0.11.0',
|
||||
'0.10.0',
|
||||
'0.9.0']
|
||||
for accepted_version in accepted_versions:
|
||||
koji.requests_kerberos.__version__ = accepted_version
|
||||
rv = self.session.gssapi_login(principal, keytab, ccache)
|
||||
self.session._callMethod.assert_called_once_with('sslLogin', [None],
|
||||
retry=False)
|
||||
self.assertEqual(old_environ, dict(**os.environ))
|
||||
self.assertTrue(rv)
|
||||
self.session._callMethod.reset_mock()
|
||||
koji.requests_kerberos.__version__ = current_version
|
||||
|
||||
@mock.patch('requests_kerberos.__version__', new='0.7.0')
|
||||
def test_gssapi_login_keytab_unsupported_requests_kerberos_version(self):
|
||||
principal = 'user@EXAMPLE.COM'
|
||||
keytab = '/path/to/keytab'
|
||||
ccache = '/path/to/cache'
|
||||
old_environ = dict(**os.environ)
|
||||
with self.assertRaises(koji.PythonImportError) as cm:
|
||||
self.session.gssapi_login(principal, keytab, ccache)
|
||||
self.assertEqual(cm.exception.args[0],
|
||||
'version of python-requests-kerberos(0.7.0) should >= 0.9.0')
|
||||
self.session._callMethod.assert_not_called()
|
||||
self.assertEqual(old_environ, dict(**os.environ))
|
||||
current_version = koji.requests_kerberos.__version__
|
||||
old_versions = ['0.8.0',
|
||||
'0.7.0',
|
||||
'0.6.1',
|
||||
'0.6',
|
||||
'0.5',
|
||||
'0.3',
|
||||
'0.2',
|
||||
'0.1']
|
||||
for old_version in old_versions:
|
||||
koji.requests_kerberos.__version__ = old_version
|
||||
with self.assertRaises(koji.PythonImportError) as cm:
|
||||
self.session.gssapi_login(principal, keytab, ccache)
|
||||
self.assertEqual(cm.exception.args[0],
|
||||
'version of python-requests-kerberos(%s) should >= 0.9.0' % old_version)
|
||||
self.session._callMethod.assert_not_called()
|
||||
self.assertEqual(old_environ, dict(**os.environ))
|
||||
koji.requests_kerberos.__version__ = current_version
|
||||
|
||||
def test_gssapi_login_error(self):
|
||||
old_environ = dict(**os.environ)
|
||||
|
|
@ -60,7 +83,7 @@ class TestGSSAPI(unittest.TestCase):
|
|||
with self.assertRaises(koji.AuthError):
|
||||
self.session.gssapi_login()
|
||||
self.session._callMethod.assert_called_once_with('sslLogin', [None],
|
||||
retry=False)
|
||||
retry=False)
|
||||
self.assertEqual(old_environ, dict(**os.environ))
|
||||
|
||||
def test_gssapi_login_http(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue