summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-11-20 14:12:19 +0100
committerVictor Stinner <victor.stinner@gmail.com>2014-11-20 14:12:19 +0100
commite8aa54f9cf195997b7b0e240a6fd093a6a670382 (patch)
treea9929723cffdf26d342975d5f568e90a51a1b97a
parentb9c6343fbd3466c1a1f65d540451408e70399223 (diff)
downloadtrollius-e8aa54f9cf195997b7b0e240a6fd093a6a670382.tar.gz
Fix test_events.py on Python 3.3: ssl.Purpose was introduced in Python 3.4
-rw-r--r--tests/test_events.py34
1 files changed, 18 insertions, 16 deletions
diff --git a/tests/test_events.py b/tests/test_events.py
index 4fe4b4c..b05cb7c 100644
--- a/tests/test_events.py
+++ b/tests/test_events.py
@@ -606,27 +606,29 @@ class EventLoopTestsMixin:
self.assertGreater(pr.nbytes, 0)
tr.close()
- if ssl:
- def _dummy_ssl_create_context(self, purpose=ssl.Purpose.SERVER_AUTH, *,
- cafile=None, capath=None, cadata=None):
- """
- A ssl.create_default_context() replacement that doesn't enable
- cert validation.
- """
- self.assertEqual(purpose, ssl.Purpose.SERVER_AUTH)
- return test_utils.dummy_ssl_context()
-
def _test_create_ssl_connection(self, httpd, create_connection,
check_sockname=True):
conn_fut = create_connection(ssl=test_utils.dummy_ssl_context())
self._basetest_create_ssl_connection(conn_fut, check_sockname)
- # With ssl=True, ssl.create_default_context() should be called
- with mock.patch('ssl.create_default_context',
- side_effect=self._dummy_ssl_create_context) as m:
- conn_fut = create_connection(ssl=True)
- self._basetest_create_ssl_connection(conn_fut, check_sockname)
- self.assertEqual(m.call_count, 1)
+ # ssl.Purpose was introduced in Python 3.4
+ if hasattr(ssl, 'Purpose'):
+ def _dummy_ssl_create_context(purpose=ssl.Purpose.SERVER_AUTH, *,
+ cafile=None, capath=None,
+ cadata=None):
+ """
+ A ssl.create_default_context() replacement that doesn't enable
+ cert validation.
+ """
+ self.assertEqual(purpose, ssl.Purpose.SERVER_AUTH)
+ return test_utils.dummy_ssl_context()
+
+ # With ssl=True, ssl.create_default_context() should be called
+ with mock.patch('ssl.create_default_context',
+ side_effect=_dummy_ssl_create_context) as m:
+ conn_fut = create_connection(ssl=True)
+ self._basetest_create_ssl_connection(conn_fut, check_sockname)
+ self.assertEqual(m.call_count, 1)
# With the real ssl.create_default_context(), certificate
# validation will fail