# -*- encoding: utf-8 import sys import pytest from requests3.help import info @pytest.mark.skipif(sys.version_info[:2] != (2, 6), reason="Only run on Python 2.6") def test_system_ssl_py26(): """OPENSSL_VERSION_NUMBER isn't provided in Python 2.6, verify we don't blow up in this case. """ assert info()["system_ssl"] == {"version": ""} @pytest.mark.skipif(sys.version_info < (2, 7), reason="Only run on Python 2.7+") 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("requests3.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("requests3.help.idna", new=VersionedPackage("2.6")) assert info()["idna"] == {"version": "2.6"}