Merge pull request #4182 from alexwlchan/idna-version

Add idna version info to requests.help
This commit is contained in:
Nate Prewitt
2017-07-27 14:54:09 -06:00
committed by GitHub
3 changed files with 26 additions and 0 deletions
+2
View File
@@ -8,6 +8,8 @@ dev
**Improvements**
- Running ``$ python -m requests.help`` now includes the installed version of idna.
**Bugfixes**
2.18.2 (2017-07-25)
+5
View File
@@ -6,6 +6,7 @@ import platform
import sys
import ssl
import idna
import urllib3
import chardet
@@ -84,6 +85,9 @@ def info():
cryptography_info = {
'version': getattr(cryptography, '__version__', ''),
}
idna_info = {
'version': getattr(idna, '__version__', ''),
}
# OPENSSL_VERSION_NUMBER doesn't exist in the Python 2.6 ssl module.
system_ssl = getattr(ssl, 'OPENSSL_VERSION_NUMBER', None)
@@ -100,6 +104,7 @@ def info():
'urllib3': urllib3_info,
'chardet': chardet_info,
'cryptography': cryptography_info,
'idna': idna_info,
'requests': {
'version': requests_version,
},
+19
View File
@@ -19,3 +19,22 @@ def test_system_ssl_py26():
def test_system_ssl():
"""Verify we're actually setting system_ssl when it should be available."""
assert info()['system_ssl']['version'] != ''
class VersionedPackage(object):
def __init__(self, version):
self.__version__ = version
def test_idna_without_version_attribute(mocker):
"""Older versions of IDNA don't provide a __version__ attribute, verify
that if we have such a package, we don't blow up.
"""
mocker.patch('requests.help.idna', new=None)
assert info()['idna'] == {'version': ''}
def test_idna_with_version_attribute(mocker):
"""Verify we're actually setting idna version when it should be available."""
mocker.patch('requests.help.idna', new=VersionedPackage('2.6'))
assert info()['idna'] == {'version': '2.6'}