Back out some version bumps

I'm giving up on trying to back out all of the test-requirements
up-revs, but let's try to stay compatibile with old requests/six.

As part of that, only disable some requests warnings on new-enough requests.

Note that we should now be compatible with distro packages back to
Ubuntu 16.04 and CentOS 6. Our six is still too new for Trusty, but
hey, there's less than a year left on that anyway, right?

Change-Id: Iccb23638393616f9ec3da660dd5e39ea4ea94220
Related-Change: I2a8f465c8b08370517cbec857933b08fca94ca38
This commit is contained in:
Tim Burke 2018-05-16 17:33:40 +00:00
parent c2c5af603f
commit da362a653e
6 changed files with 44 additions and 31 deletions

View File

@ -28,14 +28,14 @@ pep8==1.5.7
PrettyTable==0.7
pyflakes==0.8.1
Pygments==2.2.0
python-keystoneclient==3.8.0
python-keystoneclient==0.7.0
python-mimeparse==1.6.0
python-subunit==1.0.0
pytz==2013.6
PyYAML==3.12
reno==2.5.0
requests==2.14.2
six==1.10.0
requests==1.1.0
six==1.9.0
snowballstemmer==1.2.1
sphinx==1.6.2
sphinxcontrib-websupport==1.0.1

View File

@ -1,6 +1,3 @@
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
futures>=3.0.0;python_version=='2.7' or python_version=='2.6' # BSD
requests>=2.14.2 # Apache-2.0
six>=1.10.0 # MIT
requests>=1.1.0
six>=1.9.0

View File

@ -34,7 +34,7 @@ data_files =
[extras]
keystone =
python-keystoneclient>=3.8.0 # Apache-2.0
python-keystoneclient>=0.7.0
[entry_points]
console_scripts =

View File

@ -17,16 +17,10 @@
# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
import setuptools, sys
import setuptools
# In python < 2.7.4, a lazy loading of package `pbr` will break
# setuptools if some other modules registered functions in `atexit`.
# solution from: http://bugs.python.org/issue15881#msg170215
try:
import multiprocessing # noqa
except ImportError:
pass
if sys.version_info < (2, 7):
sys.exit('Sorry, Python < 2.7 is not supported for'
' python-swiftclient>=3.0')
setuptools.setup(
setup_requires=['pbr>=2.0.0'],
setup_requires=['pbr'],
pbr=True)

View File

@ -1819,9 +1819,14 @@ Examples:
parser.usage = globals()['st_%s_help' % args[0]]
if options['insecure']:
import requests
from requests.packages.urllib3.exceptions import \
InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
try:
from requests.packages.urllib3.exceptions import \
InsecureRequestWarning
except ImportError:
pass
else:
requests.packages.urllib3.disable_warnings(
InsecureRequestWarning)
try:
globals()['st_%s' % args[0]](parser, argv[1:], output)
except ClientException as err:

View File

@ -14,8 +14,8 @@
# limitations under the License.
from __future__ import unicode_literals
import contextlib
from genericpath import getmtime
import getpass
import hashlib
import json
@ -27,7 +27,6 @@ import unittest
import textwrap
from time import localtime, mktime, strftime, strptime
from requests.packages.urllib3.exceptions import InsecureRequestWarning
import six
import sys
@ -44,6 +43,10 @@ from swiftclient.utils import (
EMPTY_ETAG, EXPIRES_ISO8601_FORMAT,
SHORT_EXPIRES_ISO8601_FORMAT, TIME_ERRMSG)
try:
from requests.packages.urllib3.exceptions import InsecureRequestWarning
except ImportError:
InsecureRequestWarning = None
if six.PY2:
BUILTIN_OPEN = '__builtin__.open'
@ -114,6 +117,20 @@ def _make_cmd(cmd, opts, os_opts, use_env=False, flags=None, cmd_args=None):
return args, env
@contextlib.contextmanager
def patch_disable_warnings():
if InsecureRequestWarning is None:
# If InsecureRequestWarning isn't available, disbale_warnings won't
# be either; they both came in with
# https://github.com/requests/requests/commit/811ee4e and left again
# in https://github.com/requests/requests/commit/8e17600
yield None
else:
with mock.patch('requests.packages.urllib3.disable_warnings') \
as patched:
yield patched
@mock.patch.dict(os.environ, mocked_os_environ)
class TestShell(unittest.TestCase):
def setUp(self):
@ -2509,8 +2526,7 @@ class TestKeystoneOptions(MockHttpTest):
_make_fake_import_keystone_client(fake_ks)), \
mock.patch('swiftclient.client.http_connection', fake_conn), \
mock.patch.dict(os.environ, env, clear=True), \
mock.patch('requests.packages.urllib3.disable_warnings') as \
mock_disable_warnings:
patch_disable_warnings() as mock_disable_warnings:
try:
swiftclient.shell.main(args)
except SystemExit as e:
@ -2518,11 +2534,12 @@ class TestKeystoneOptions(MockHttpTest):
except SwiftError as err:
self.fail('Unexpected SwiftError: %s' % err)
if 'insecure' in flags:
self.assertEqual([mock.call(InsecureRequestWarning)],
mock_disable_warnings.mock_calls)
else:
self.assertEqual([], mock_disable_warnings.mock_calls)
if InsecureRequestWarning is not None:
if 'insecure' in flags:
self.assertEqual([mock.call(InsecureRequestWarning)],
mock_disable_warnings.mock_calls)
else:
self.assertEqual([], mock_disable_warnings.mock_calls)
if no_auth:
# check that keystone client was not used and terminate tests