| Server IP : 85.214.239.14  /  Your IP : 216.73.216.213 Web Server : Apache/2.4.65 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 8.2.29 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /srv/modoboa/env/lib64/python3.5/site-packages/gevent/tests/ | 
| Upload File : | 
import unittest
import warnings
import sys
# All supported python versions now provide SSLContext.
# We import it by name and subclass it here by name.
# compare with warning3.py
from ssl import SSLContext
class MySubclass(SSLContext):
    pass
# This file should only have this one test in it
# because we have to be careful about our imports
# and because we need to be careful about our patching.
class Test(unittest.TestCase):
    @unittest.skipIf(sys.version_info[:2] < (3, 6),
                     "Only on Python 3.6+")
    def test_ssl_subclass_and_module_reference(self):
        from gevent import monkey
        self.assertFalse(monkey.saved)
        with warnings.catch_warnings(record=True) as issued_warnings:
            warnings.simplefilter('always')
            monkey.patch_all()
            monkey.patch_all()
        issued_warnings = [x for x in issued_warnings
                           if isinstance(x.message, monkey.MonkeyPatchWarning)]
        self.assertEqual(1, len(issued_warnings))
        message = issued_warnings[0].message
        self.assertIn("Modules that had direct imports", str(message))
        self.assertIn("Subclasses (NOT patched)", str(message))
if __name__ == '__main__':
    unittest.main()