summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Shepelev <temotor@gmail.com>2018-05-01 20:58:59 +0300
committerSergey Shepelev <temotor@gmail.com>2020-10-19 03:25:37 +0300
commitcc37a5e72b8bf5a0062243563c91b28dbd4205b2 (patch)
tree70626fdb366890e6628f7a021f7d65352b796a98
parent9d7e5dccf7de8517e4a2c7b47b0412d111e6c2d5 (diff)
downloadeventlet-485-https-noverify-env.tar.gz
test for https://github.com/eventlet/eventlet/pull/485485-https-noverify-env
-rw-r--r--tests/isolated/green_ssl_pythonhttpsverify.py34
-rw-r--r--tests/ssl_test.py7
2 files changed, 39 insertions, 2 deletions
diff --git a/tests/isolated/green_ssl_pythonhttpsverify.py b/tests/isolated/green_ssl_pythonhttpsverify.py
new file mode 100644
index 0000000..cfb84aa
--- /dev/null
+++ b/tests/isolated/green_ssl_pythonhttpsverify.py
@@ -0,0 +1,34 @@
+__test__ = False
+
+if __name__ == '__main__':
+ import os
+ assert os.environ.get('PYTHONHTTPSVERIFY', '') == '0'
+
+ import eventlet
+ from eventlet.green import socket, ssl, httplib
+ import tests
+ sock = ssl.wrap_socket(
+ socket.socket(),
+ tests.private_key_file,
+ tests.certificate_file,
+ server_side=True,
+ )
+ sock.bind(('localhost', 0))
+ sock.listen(2)
+
+ @eventlet.spawn
+ def https_server():
+ client, _ = sock.accept()
+ client.read()
+ client.sendall(b'HTTP/1.0 204 OK BUT NO THANKS\r\n\r\n')
+ eventlet.sleep(0.1)
+ client.shutdown(socket.SHUT_RDWR)
+
+ sa = sock.getsockname()
+ conn = httplib.HTTPSConnection(sa[0], sa[1], timeout=0.5)
+ conn.request('GET', '/')
+ r = conn.getresponse()
+ r.read()
+ assert r.status == '204 OK BUT NO THANKS'
+
+ print('pass')
diff --git a/tests/ssl_test.py b/tests/ssl_test.py
index d3e3780..42c3552 100644
--- a/tests/ssl_test.py
+++ b/tests/ssl_test.py
@@ -1,5 +1,3 @@
-import contextlib
-import socket
import warnings
import eventlet
@@ -325,3 +323,8 @@ class SSLTest(tests.LimitedTestCase):
server_to_client.close()
listener.close()
+
+
+def test_pythonhttpsverify():
+ # https://github.com/eventlet/eventlet/pull/485
+ tests.run_isolated('green_ssl_pythonhttpsverify.py', env={'PYTHONHTTPSVERIFY': '0'})