verify we re actually setting systemssl when it should be available assert infosystemsslversion class versionedpackage def initself version self version version def testidnawithoutversionattribute with mock patchrequests help idna newnone assert infoidna version def testidnawithversionattribute verify we re actually setting system_ssl when it should be available older versions of idna don t provide a __version__ attribute verify that if we have such a package we don t blow up verify we re actually setting idna version when it should be available
from unittest import mock

from requests.help import info


def test_system_ssl():
    
    assert info()["system_ssl"]["version"] != ""


class VersionedPackage:
    def __init__(self, version):
        self.__version__ = version


def test_idna_without_version_attribute():
    
    with mock.patch("requests.help.idna", new=None):
        assert info()["idna"] == {"version": ""}


def test_idna_with_version_attribute():
    
    with mock.patch("requests.help.idna", new=VersionedPackage("2.6")):
        assert info()["idna"] == {"version": "2.6"}