diff options
| author | Sergey Shepelev <temotor@gmail.com> | 2018-05-01 20:58:59 +0300 |
|---|---|---|
| committer | Sergey Shepelev <temotor@gmail.com> | 2020-10-19 03:25:37 +0300 |
| commit | cc37a5e72b8bf5a0062243563c91b28dbd4205b2 (patch) | |
| tree | 70626fdb366890e6628f7a021f7d65352b796a98 | |
| parent | 9d7e5dccf7de8517e4a2c7b47b0412d111e6c2d5 (diff) | |
| download | eventlet-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.py | 34 | ||||
| -rw-r--r-- | tests/ssl_test.py | 7 |
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'}) |
