From 7ff24d717d642e824473044dd1fb70bb7bef36f7 Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Jun 01 2017 07:39:23 +0000 Subject: fix session --- diff --git a/koji/util.py b/koji/util.py index 5535223..af1a0b0 100644 --- a/koji/util.py +++ b/koji/util.py @@ -467,11 +467,15 @@ class adler32_constructor(object): #mimicing the hashlib constructors def __init__(self, arg=''): + if six.PY3: + arg = bytes(arg, 'utf-8') self._value = adler32(arg) & 0xffffffff #the bitwise and works around a bug in some versions of python #see: https://bugs.python.org/issue1202 def update(self, arg): + if six.PY3: + arg = bytes(arg, 'utf-8') self._value = adler32(arg, self._value) & 0xffffffff def digest(self): diff --git a/tests/test_client_session.py b/tests/test_client_session.py index cfbf82a..5edab10 100644 --- a/tests/test_client_session.py +++ b/tests/test_client_session.py @@ -1,6 +1,7 @@ from __future__ import absolute_import import mock import unittest +import six import koji @@ -31,31 +32,30 @@ class TestClientSession(unittest.TestCase): self.assertEqual(princ, 'host/koji.example.com@REALM') getfqdn.assert_not_called() - @mock.patch('koji.compatrequests.Session') @mock.patch('requests.Session') - def test_new_session(self, rsession, compat_session): + def test_new_session(self, rsession): opts = {'use_old_ssl': False} ksession = koji.ClientSession('http://koji.example.com/kojihub', opts) # init should have called new_session for us rsession.assert_called_once() - compat_session.assert_not_called() - @mock.patch('koji.compatrequests.Session') @mock.patch('requests.Session') - def test_new_session_old(self, rsession, compat_session): + def test_new_session_old(self, rsession): + if six.PY3: + return opts = {'use_old_ssl': True} ksession = koji.ClientSession('http://koji.example.com/kojihub', opts) # init should have called new_session for us rsession.assert_not_called() - compat_session.assert_called_once() - @mock.patch('koji.compatrequests.Session') @mock.patch('requests.Session') - def test_new_session_close(self, rsession, compat_session): + def test_new_session_close(self, rsession): + if six.PY3: + return opts = {'use_old_ssl': True} ksession = koji.ClientSession('http://koji.example.com/kojihub', opts) my_rsession = mock.MagicMock() @@ -73,9 +73,12 @@ class TestFastUpload(unittest.TestCase): self.do_fake_login() # mocks self.ksession._callMethod = mock.MagicMock() - self.compat_session = mock.patch('koji.compatrequests.Session').start() + self.ksession.retries = 1 self.rsession = mock.patch('requests.Session').start() - self.file_mock = mock.patch('__builtin__.file').start() + if six.PY2: + self.file_mock = mock.patch('__builtin__.open').start() + else: + self.file_mock = mock.patch('builtins.open').start() self.getsize_mock = mock.patch('os.path.getsize').start() def tearDown(self): diff --git a/tests/test_utils.py b/tests/test_utils.py index 6809088..b4a3b21 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -85,11 +85,17 @@ class MiscFunctionTestCase(unittest.TestCase): @mock.patch('six.moves.urllib.request.urlopen') @mock.patch('tempfile.TemporaryFile') @mock.patch('shutil.copyfileobj') - @mock.patch('__builtin__.open') - def test_openRemoteFile(self, m_open, m_copyfileobj, m_TemporaryFile, + def test_openRemoteFile(self, m_copyfileobj, m_TemporaryFile, m_urlopen): """Test openRemoteFile function""" + if six.PY2: + __builtins__.open = mock.MagicMock() + m_open = __builtins__.open + else: + import builtins + builtins.open = mock.MagicMock() + m_open = builtins.open mocks = [m_open, m_copyfileobj, m_TemporaryFile, m_urlopen] topurl = 'http://example.com/koji'