use SSLv23_METHOD so we get "best TLS" in most tests. (#931)

diff --git a/tests/test_ssl.py b/tests/test_ssl.py
index 0b1f3ba..daaafae 100644
--- a/tests/test_ssl.py
+++ b/tests/test_ssl.py
@@ -464,9 +464,9 @@
 @pytest.fixture
 def context():
     """
-    A simple TLS 1.0 context.
+    A simple "best TLS you can get" context. TLS 1.2+ in any reasonable OpenSSL
     """
-    return Context(TLSv1_METHOD)
+    return Context(SSLv23_METHOD)
 
 
 class TestContext(object):
@@ -598,7 +598,7 @@
         """
         key = PKey()
         key.generate_key(TYPE_RSA, 1024)
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         ctx.use_privatekey(key)
         with pytest.raises(TypeError):
             ctx.use_privatekey("")
@@ -608,7 +608,7 @@
         `Context.use_privatekey_file` raises `OpenSSL.SSL.Error` when passed
         the name of a file which does not exist.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         with pytest.raises(Error):
             ctx.use_privatekey_file(tmpfile)
 
@@ -623,7 +623,7 @@
         with open(pemfile, "wt") as pem:
             pem.write(dump_privatekey(FILETYPE_PEM, key).decode("ascii"))
 
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         ctx.use_privatekey_file(pemfile, filetype)
 
     @pytest.mark.parametrize("filetype", [object(), "", None, 1.0])
@@ -632,7 +632,7 @@
         `Context.use_privatekey_file` raises `TypeError` when called with
         a `filetype` which is not a valid file encoding.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             ctx.use_privatekey_file(tmpfile, filetype)
 
@@ -659,7 +659,7 @@
         `Context.use_certificate_wrong_args` raises `TypeError` when not passed
         exactly one `OpenSSL.crypto.X509` instance as an argument.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             ctx.use_certificate("hello, world")
 
@@ -669,7 +669,7 @@
         `OpenSSL.crypto.X509` instance which has not been initialized
         (ie, which does not actually have any certificate data).
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         with pytest.raises(Error):
             ctx.use_certificate(X509())
 
@@ -682,7 +682,7 @@
         # Hard to assert anything.  But we could set a privatekey then ask
         # OpenSSL if the cert and key agree using check_privatekey.  Then as
         # long as check_privatekey works right we're good...
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         ctx.use_certificate(load_certificate(FILETYPE_PEM, root_cert_pem))
 
     def test_use_certificate_file_wrong_args(self):
@@ -690,7 +690,7 @@
         `Context.use_certificate_file` raises `TypeError` if the first
         argument is not a byte string or the second argument is not an integer.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             ctx.use_certificate_file(object(), FILETYPE_PEM)
         with pytest.raises(TypeError):
@@ -703,7 +703,7 @@
         `Context.use_certificate_file` raises `OpenSSL.SSL.Error` if passed
         the name of a file which does not exist.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         with pytest.raises(Error):
             ctx.use_certificate_file(tmpfile)
 
@@ -719,7 +719,7 @@
         with open(certificate_file, "wb") as pem_file:
             pem_file.write(root_cert_pem)
 
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         ctx.use_certificate_file(certificate_file)
 
     def test_use_certificate_file_bytes(self, tmpfile):
@@ -747,7 +747,7 @@
         """
         key = load_privatekey(FILETYPE_PEM, client_key_pem)
         cert = load_certificate(FILETYPE_PEM, client_cert_pem)
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         context.use_privatekey(key)
         context.use_certificate(cert)
         assert None is context.check_privatekey()
@@ -760,7 +760,7 @@
         """
         key = load_privatekey(FILETYPE_PEM, client_key_pem)
         cert = load_certificate(FILETYPE_PEM, server_cert_pem)
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         context.use_privatekey(key)
         context.use_certificate(cert)
         with pytest.raises(Error):
@@ -772,7 +772,7 @@
         using `Context.get_app_data`.
         """
         app_data = object()
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         context.set_app_data(app_data)
         assert context.get_app_data() is app_data
 
@@ -781,7 +781,7 @@
         `Context.set_options` raises `TypeError` if called with
         a non-`int` argument.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             context.set_options(None)
 
@@ -789,7 +789,7 @@
         """
         `Context.set_options` returns the new options value.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         options = context.set_options(OP_NO_SSLv2)
         assert options & OP_NO_SSLv2 == OP_NO_SSLv2
 
@@ -798,7 +798,7 @@
         `Context.set_mode` raises `TypeError` if called with
         a non-`int` argument.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             context.set_mode(None)
 
@@ -807,7 +807,7 @@
         `Context.set_mode` accepts a mode bitvector and returns the
         newly set mode.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         assert MODE_RELEASE_BUFFERS & context.set_mode(MODE_RELEASE_BUFFERS)
 
     def test_set_timeout_wrong_args(self):
@@ -815,7 +815,7 @@
         `Context.set_timeout` raises `TypeError` if called with
         a non-`int` argument.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             context.set_timeout(None)
 
@@ -825,7 +825,7 @@
         created using the context object. `Context.get_timeout` retrieves
         this value.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         context.set_timeout(1234)
         assert context.get_timeout() == 1234
 
@@ -834,7 +834,7 @@
         `Context.set_verify_depth` raises `TypeError` if called with a
         non-`int` argument.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             context.set_verify_depth(None)
 
@@ -844,7 +844,7 @@
         a chain to follow before giving up.  The value can be retrieved with
         `Context.get_verify_depth`.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         context.set_verify_depth(11)
         assert context.get_verify_depth() == 11
 
@@ -865,7 +865,7 @@
         `Context.set_passwd_cb` raises `TypeError` if called with a
         non-callable first argument.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             context.set_passwd_cb(None)
 
@@ -882,7 +882,7 @@
             calledWith.append((maxlen, verify, extra))
             return passphrase
 
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         context.set_passwd_cb(passphraseCallback)
         context.use_privatekey_file(pemFile)
         assert len(calledWith) == 1
@@ -900,7 +900,7 @@
         def passphraseCallback(maxlen, verify, extra):
             raise RuntimeError("Sorry, I am a fail.")
 
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         context.set_passwd_cb(passphraseCallback)
         with pytest.raises(RuntimeError):
             context.use_privatekey_file(pemFile)
@@ -915,7 +915,7 @@
         def passphraseCallback(maxlen, verify, extra):
             return b""
 
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         context.set_passwd_cb(passphraseCallback)
         with pytest.raises(Error):
             context.use_privatekey_file(pemFile)
@@ -930,7 +930,7 @@
         def passphraseCallback(maxlen, verify, extra):
             return 10
 
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         context.set_passwd_cb(passphraseCallback)
         # TODO: Surely this is the wrong error?
         with pytest.raises(ValueError):
@@ -949,7 +949,7 @@
             assert maxlen == 1024
             return passphrase + b"y"
 
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         context.set_passwd_cb(passphraseCallback)
         # This shall succeed because the truncated result is the correct
         # passphrase.
@@ -962,7 +962,7 @@
         """
         (server, client) = socket_pair()
 
-        clientSSL = Connection(Context(TLSv1_METHOD), client)
+        clientSSL = Connection(Context(SSLv23_METHOD), client)
         clientSSL.set_connect_state()
 
         called = []
@@ -970,7 +970,7 @@
         def info(conn, where, ret):
             called.append((conn, where, ret))
 
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         context.set_info_callback(info)
         context.use_certificate(load_certificate(FILETYPE_PEM, root_cert_pem))
         context.use_privatekey(load_privatekey(FILETYPE_PEM, root_key_pem))
@@ -1008,7 +1008,7 @@
         def keylog(conn, line):
             called.append((conn, line))
 
-        server_context = Context(TLSv1_METHOD)
+        server_context = Context(TLSv1_2_METHOD)
         server_context.set_keylog_callback(keylog)
         server_context.use_certificate(
             load_certificate(FILETYPE_PEM, root_cert_pem)
@@ -1017,7 +1017,7 @@
             load_privatekey(FILETYPE_PEM, root_key_pem)
         )
 
-        client_context = Context(TLSv1_METHOD)
+        client_context = Context(SSLv23_METHOD)
 
         self._handshake_test(server_context, client_context)
 
@@ -1033,7 +1033,7 @@
         """
         (server, client) = socket_pair()
 
-        clientContext = Context(TLSv1_METHOD)
+        clientContext = Context(SSLv23_METHOD)
         clientContext.load_verify_locations(*args)
         # Require that the server certificate verify properly or the
         # connection will fail.
@@ -1045,7 +1045,7 @@
         clientSSL = Connection(clientContext, client)
         clientSSL.set_connect_state()
 
-        serverContext = Context(TLSv1_METHOD)
+        serverContext = Context(SSLv23_METHOD)
         serverContext.use_certificate(
             load_certificate(FILETYPE_PEM, root_cert_pem)
         )
@@ -1099,7 +1099,7 @@
         `Context.load_verify_locations` raises `Error` when passed a
         non-existent cafile.
         """
-        clientContext = Context(TLSv1_METHOD)
+        clientContext = Context(SSLv23_METHOD)
         with pytest.raises(Error):
             clientContext.load_verify_locations(tmpfile)
 
@@ -1144,7 +1144,7 @@
         `Context.load_verify_locations` raises `TypeError` if with non-`str`
         arguments.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             context.load_verify_locations(object())
         with pytest.raises(TypeError):
@@ -1164,7 +1164,7 @@
         SSL_CTX_SET_default_verify_paths so that it can't find certs unless
         it loads via fallback.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         monkeypatch.setattr(
             _lib, "SSL_CTX_set_default_verify_paths", lambda x: 1
         )
@@ -1189,7 +1189,7 @@
         """
         Test that we return True/False appropriately if the env vars are set.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         dir_var = "CUSTOM_DIR_VAR"
         file_var = "CUSTOM_FILE_VAR"
         assert context._check_env_vars_set(dir_var, file_var) is False
@@ -1202,7 +1202,7 @@
         """
         Test that we don't use the fallback path if env vars are set.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         monkeypatch.setattr(
             _lib, "SSL_CTX_set_default_verify_paths", lambda x: 1
         )
@@ -1259,7 +1259,7 @@
         Test that when passed empty arrays or paths that do not exist no
         errors are raised.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         context._fallback_default_verify_paths([], [])
         context._fallback_default_verify_paths(["/not/a/file"], ["/not/a/dir"])
 
@@ -1268,7 +1268,7 @@
         `Context.add_extra_chain_cert` raises `TypeError` if called with an
         object which is not an instance of `X509`.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             context.add_extra_chain_cert(object())
 
@@ -1299,7 +1299,7 @@
         The first argument passed to the verify callback is the
         `Connection` instance for which verification is taking place.
         """
-        serverContext = Context(TLSv1_METHOD)
+        serverContext = Context(SSLv23_METHOD)
         serverContext.use_privatekey(
             load_privatekey(FILETYPE_PEM, root_key_pem)
         )
@@ -1314,7 +1314,7 @@
                 return 1
 
         verify = VerifyCallback()
-        clientContext = Context(TLSv1_METHOD)
+        clientContext = Context(SSLv23_METHOD)
         clientContext.set_verify(VERIFY_PEER, verify.callback)
         clientConnection = Connection(clientContext, None)
         clientConnection.set_connect_state()
@@ -1330,7 +1330,7 @@
         get_subject. This test sets up a handshake where we call get_subject
         on the cert provided to the verify callback.
         """
-        serverContext = Context(TLSv1_METHOD)
+        serverContext = Context(SSLv23_METHOD)
         serverContext.use_privatekey(
             load_privatekey(FILETYPE_PEM, root_key_pem)
         )
@@ -1343,7 +1343,7 @@
             assert cert.get_subject()
             return 1
 
-        clientContext = Context(TLSv1_METHOD)
+        clientContext = Context(SSLv23_METHOD)
         clientContext.set_verify(VERIFY_PEER, verify_cb_get_subject)
         clientConnection = Connection(clientContext, None)
         clientConnection.set_connect_state()
@@ -1406,14 +1406,14 @@
                 f.write(dump_privatekey(FILETYPE_PEM, key).decode("ascii"))
 
         # Create the server context
-        serverContext = Context(TLSv1_METHOD)
+        serverContext = Context(SSLv23_METHOD)
         serverContext.use_privatekey(skey)
         serverContext.use_certificate(scert)
         # The client already has cacert, we only need to give them icert.
         serverContext.add_extra_chain_cert(icert)
 
         # Create the client
-        clientContext = Context(TLSv1_METHOD)
+        clientContext = Context(SSLv23_METHOD)
         clientContext.set_verify(
             VERIFY_PEER | VERIFY_FAIL_IF_NO_PEER_CERT, verify_cb
         )
@@ -1449,11 +1449,11 @@
         with open(caFile, "w") as fObj:
             fObj.write(dump_certificate(FILETYPE_PEM, cacert).decode("ascii"))
 
-        serverContext = Context(TLSv1_METHOD)
+        serverContext = Context(SSLv23_METHOD)
         serverContext.use_certificate_chain_file(chainFile)
         serverContext.use_privatekey(skey)
 
-        clientContext = Context(TLSv1_METHOD)
+        clientContext = Context(SSLv23_METHOD)
         clientContext.set_verify(
             VERIFY_PEER | VERIFY_FAIL_IF_NO_PEER_CERT, verify_cb
         )
@@ -1486,7 +1486,7 @@
         `Context.use_certificate_chain_file` raises `TypeError` if passed a
         non-byte string single argument.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             context.use_certificate_chain_file(object())
 
@@ -1496,7 +1496,7 @@
         passed a bad chain file name (for example, the name of a file which
         does not exist).
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         with pytest.raises(Error):
             context.use_certificate_chain_file(tmpfile)
 
@@ -1505,7 +1505,7 @@
         `Context.get_verify_mode` returns the verify mode flags previously
         passed to `Context.set_verify`.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         assert context.get_verify_mode() == 0
         context.set_verify(
             VERIFY_PEER | VERIFY_CLIENT_ONCE, lambda *args: None
@@ -1518,7 +1518,7 @@
         `Context.set_verify` raises `TypeError` if the first argument is
         not an integer.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             context.set_verify(mode=mode, callback=lambda *args: None)
 
@@ -1528,7 +1528,7 @@
         `Context.set_verify` raises `TypeError` if the second argument
         is not callable.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             context.set_verify(mode=VERIFY_PEER, callback=callback)
 
@@ -1537,7 +1537,7 @@
         `Context.load_tmp_dh` raises `TypeError` if called with a
         non-`str` argument.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             context.load_tmp_dh(object())
 
@@ -1546,7 +1546,7 @@
         `Context.load_tmp_dh` raises `OpenSSL.SSL.Error` if the
         specified file does not exist.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         with pytest.raises(Error):
             context.load_tmp_dh(b"hello")
 
@@ -1555,7 +1555,7 @@
         Verify that calling ``Context.load_tmp_dh`` with the given filename
         does not raise an exception.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         with open(dhfilename, "w") as dhfile:
             dhfile.write(dhparam)
 
@@ -1585,7 +1585,7 @@
         `Context.set_tmp_ecdh` sets the elliptic curve for Diffie-Hellman to
         the specified curve.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         for curve in get_elliptic_curves():
             if curve.name.startswith(u"Oakley-"):
                 # Setting Oakley-EC2N-4 and Oakley-EC2N-3 adds
@@ -1602,7 +1602,7 @@
         a non-integer argument.
         called with other than one integer argument.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             context.set_session_cache_mode(object())
 
@@ -1611,7 +1611,7 @@
         `Context.set_session_cache_mode` specifies how sessions are cached.
         The setting can be retrieved via `Context.get_session_cache_mode`.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         context.set_session_cache_mode(SESS_CACHE_OFF)
         off = context.set_session_cache_mode(SESS_CACHE_BOTH)
         assert SESS_CACHE_OFF == off
@@ -1621,7 +1621,7 @@
         """
         `Context.get_cert_store` returns a `X509Store` instance.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         store = context.get_cert_store()
         assert isinstance(store, X509Store)
 
@@ -1631,7 +1631,7 @@
 
         It raises a TypeError if the list of profiles is not a byte string.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             context.set_tlsext_use_srtp(text_type("SRTP_AES128_CM_SHA1_80"))
 
@@ -1641,7 +1641,7 @@
 
         It raises an Error if the call to OpenSSL fails.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         with pytest.raises(Error):
             context.set_tlsext_use_srtp(b"SRTP_BOGUS")
 
@@ -1651,7 +1651,7 @@
 
         It does not return anything.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         assert context.set_tlsext_use_srtp(b"SRTP_AES128_CM_SHA1_80") is None
 
 
@@ -1673,7 +1673,7 @@
         def replacement(connection):  # pragma: no cover
             pass
 
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         context.set_tlsext_servername_callback(callback)
 
         tracker = ref(callback)
@@ -1705,7 +1705,7 @@
         def servername(conn):
             args.append((conn, conn.get_servername()))
 
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         context.set_tlsext_servername_callback(servername)
 
         # Lose our reference to it.  The Context is responsible for keeping it
@@ -1723,7 +1723,7 @@
         server = Connection(context, None)
         server.set_accept_state()
 
-        client = Connection(Context(TLSv1_METHOD), None)
+        client = Connection(Context(SSLv23_METHOD), None)
         client.set_connect_state()
 
         interact_in_memory(server, client)
@@ -1742,7 +1742,7 @@
         def servername(conn):
             args.append((conn, conn.get_servername()))
 
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         context.set_tlsext_servername_callback(servername)
 
         # Necessary to actually accept the connection
@@ -1755,7 +1755,7 @@
         server = Connection(context, None)
         server.set_accept_state()
 
-        client = Connection(Context(TLSv1_METHOD), None)
+        client = Connection(Context(SSLv23_METHOD), None)
         client.set_connect_state()
         client.set_tlsext_host_name(b"foo1.example.com")
 
@@ -1789,10 +1789,10 @@
             select_args.append((conn, options))
             return b"spdy/2"
 
-        server_context = Context(TLSv1_METHOD)
+        server_context = Context(SSLv23_METHOD)
         server_context.set_npn_advertise_callback(advertise)
 
-        client_context = Context(TLSv1_METHOD)
+        client_context = Context(SSLv23_METHOD)
         client_context.set_npn_select_callback(select)
 
         # Necessary to actually accept the connection
@@ -1834,10 +1834,10 @@
             select_args.append((conn, options))
             return b""
 
-        server_context = Context(TLSv1_METHOD)
+        server_context = Context(SSLv23_METHOD)
         server_context.set_npn_advertise_callback(advertise)
 
-        client_context = Context(TLSv1_METHOD)
+        client_context = Context(SSLv23_METHOD)
         client_context.set_npn_select_callback(select)
 
         # Necessary to actually accept the connection
@@ -1876,10 +1876,10 @@
         def select(conn, options):
             raise TypeError
 
-        server_context = Context(TLSv1_METHOD)
+        server_context = Context(SSLv23_METHOD)
         server_context.set_npn_advertise_callback(advertise)
 
-        client_context = Context(TLSv1_METHOD)
+        client_context = Context(SSLv23_METHOD)
         client_context.set_npn_select_callback(select)
 
         # Necessary to actually accept the connection
@@ -1921,10 +1921,10 @@
             select_args.append((conn, options))
             return b""
 
-        server_context = Context(TLSv1_METHOD)
+        server_context = Context(SSLv23_METHOD)
         server_context.set_npn_advertise_callback(advertise)
 
-        client_context = Context(TLSv1_METHOD)
+        client_context = Context(SSLv23_METHOD)
         client_context.set_npn_select_callback(select)
 
         # Necessary to actually accept the connection
@@ -1965,10 +1965,10 @@
             select_args.append((conn, options))
             return b"spdy/2"
 
-        client_context = Context(TLSv1_METHOD)
+        client_context = Context(SSLv23_METHOD)
         client_context.set_alpn_protos([b"http/1.1", b"spdy/2"])
 
-        server_context = Context(TLSv1_METHOD)
+        server_context = Context(SSLv23_METHOD)
         server_context.set_alpn_select_callback(select)
 
         # Necessary to actually accept the connection
@@ -2005,9 +2005,9 @@
             return b"spdy/2"
 
         # Setup the client context but don't set any ALPN protocols.
-        client_context = Context(TLSv1_METHOD)
+        client_context = Context(SSLv23_METHOD)
 
-        server_context = Context(TLSv1_METHOD)
+        server_context = Context(SSLv23_METHOD)
         server_context.set_alpn_select_callback(select)
 
         # Necessary to actually accept the connection
@@ -2045,10 +2045,10 @@
             select_args.append((conn, options))
             return b""
 
-        client_context = Context(TLSv1_METHOD)
+        client_context = Context(SSLv23_METHOD)
         client_context.set_alpn_protos([b"http/1.1", b"spdy/2"])
 
-        server_context = Context(TLSv1_METHOD)
+        server_context = Context(SSLv23_METHOD)
         server_context.set_alpn_select_callback(select)
 
         # Necessary to actually accept the connection
@@ -2158,10 +2158,10 @@
         When clients and servers cannot agree on what protocol to use next
         because the server doesn't offer ALPN, no protocol is negotiated.
         """
-        client_context = Context(TLSv1_METHOD)
+        client_context = Context(SSLv23_METHOD)
         client_context.set_alpn_protos([b"http/1.1", b"spdy/2"])
 
-        server_context = Context(TLSv1_METHOD)
+        server_context = Context(SSLv23_METHOD)
 
         # Necessary to actually accept the connection
         server_context.use_privatekey(
@@ -2193,10 +2193,10 @@
             select_args.append((conn, options))
             raise TypeError()
 
-        client_context = Context(TLSv1_METHOD)
+        client_context = Context(SSLv23_METHOD)
         client_context.set_alpn_protos([b"http/1.1", b"spdy/2"])
 
-        server_context = Context(TLSv1_METHOD)
+        server_context = Context(SSLv23_METHOD)
         server_context.set_alpn_select_callback(select)
 
         # Necessary to actually accept the connection
@@ -2256,7 +2256,7 @@
         """
         `Connection` can be used to create instances of that type.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         assert is_consistent_type(Connection, "Connection", ctx, None)
 
     @pytest.mark.parametrize("bad_context", [object(), "context", None, 1])
@@ -2274,7 +2274,7 @@
         `Connection.bio_write` raises `TypeError` if called with a non-bytes
         (or text) argument.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         connection = Connection(context, None)
         with pytest.raises(TypeError):
             connection.bio_write(bad_bio)
@@ -2284,7 +2284,7 @@
         `Connection.bio_write` does not raise if called with bytes or
         bytearray, warns if called with text.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         connection = Connection(context, None)
         connection.bio_write(b"xy")
         connection.bio_write(bytearray(b"za"))
@@ -2296,7 +2296,7 @@
         `Connection.get_context` returns the `Context` instance used to
         construct the `Connection` instance.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         connection = Connection(context, None)
         assert connection.get_context() is context
 
@@ -2305,7 +2305,7 @@
         `Connection.set_context` raises `TypeError` if called with a
         non-`Context` instance argument.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         connection = Connection(ctx, None)
         with pytest.raises(TypeError):
             connection.set_context(object())
@@ -2321,7 +2321,7 @@
         used for the connection.
         """
         original = Context(SSLv23_METHOD)
-        replacement = Context(TLSv1_METHOD)
+        replacement = Context(SSLv23_METHOD)
         connection = Connection(original, None)
         connection.set_context(replacement)
         assert replacement is connection.get_context()
@@ -2336,7 +2336,7 @@
         If `Connection.set_tlsext_host_name` is called with a non-byte string
         argument or a byte string with an embedded NUL, `TypeError` is raised.
         """
-        conn = Connection(Context(TLSv1_METHOD), None)
+        conn = Connection(Context(SSLv23_METHOD), None)
         with pytest.raises(TypeError):
             conn.set_tlsext_host_name(object())
         with pytest.raises(TypeError):
@@ -2352,7 +2352,7 @@
         `Connection.pending` returns the number of bytes available for
         immediate read.
         """
-        connection = Connection(Context(TLSv1_METHOD), None)
+        connection = Connection(Context(SSLv23_METHOD), None)
         assert connection.pending() == 0
 
     def test_peek(self):
@@ -2371,7 +2371,7 @@
         `Connection.connect` raises `TypeError` if called with a non-address
         argument.
         """
-        connection = Connection(Context(TLSv1_METHOD), socket_any_family())
+        connection = Connection(Context(SSLv23_METHOD), socket_any_family())
         with pytest.raises(TypeError):
             connection.connect(None)
 
@@ -2381,7 +2381,7 @@
         connect method raises it.
         """
         client = socket_any_family()
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         clientSSL = Connection(context, client)
         # pytest.raises here doesn't work because of a bug in py.test on Python
         # 2.6: https://github.com/pytest-dev/pytest/issues/988
@@ -2399,7 +2399,7 @@
         port.bind(("", 0))
         port.listen(3)
 
-        clientSSL = Connection(Context(TLSv1_METHOD), socket(port.family))
+        clientSSL = Connection(Context(SSLv23_METHOD), socket(port.family))
         clientSSL.connect((loopback_address(port), port.getsockname()[1]))
         # XXX An assertion?  Or something?
 
@@ -2416,7 +2416,7 @@
         port.bind(("", 0))
         port.listen(3)
 
-        clientSSL = Connection(Context(TLSv1_METHOD), socket(port.family))
+        clientSSL = Connection(Context(SSLv23_METHOD), socket(port.family))
         clientSSL.setblocking(False)
         result = clientSSL.connect_ex(port.getsockname())
         expected = (EINPROGRESS, EWOULDBLOCK)
@@ -2428,7 +2428,7 @@
         tuple of a new `Connection` (the accepted client) and the address the
         connection originated from.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         ctx.use_privatekey(load_privatekey(FILETYPE_PEM, server_key_pem))
         ctx.use_certificate(load_certificate(FILETYPE_PEM, server_cert_pem))
         port = socket_any_family()
@@ -2436,7 +2436,7 @@
         portSSL.bind(("", 0))
         portSSL.listen(3)
 
-        clientSSL = Connection(Context(TLSv1_METHOD), socket(port.family))
+        clientSSL = Connection(Context(SSLv23_METHOD), socket(port.family))
 
         # Calling portSSL.getsockname() here to get the server IP address
         # sounds great, but frequently fails on Windows.
@@ -2453,7 +2453,7 @@
         `Connection.set_shutdown` raises `TypeError` if called with arguments
         other than integers.
         """
-        connection = Connection(Context(TLSv1_METHOD), None)
+        connection = Connection(Context(SSLv23_METHOD), None)
         with pytest.raises(TypeError):
             connection.set_shutdown(None)
 
@@ -2492,8 +2492,8 @@
         If the underlying connection is truncated, `Connection.shutdown`
         raises an `Error`.
         """
-        server_ctx = Context(TLSv1_METHOD)
-        client_ctx = Context(TLSv1_METHOD)
+        server_ctx = Context(SSLv23_METHOD)
+        client_ctx = Context(SSLv23_METHOD)
         server_ctx.use_privatekey(
             load_privatekey(FILETYPE_PEM, server_key_pem)
         )
@@ -2515,7 +2515,7 @@
         `Connection.set_shutdown` sets the state of the SSL connection
         shutdown process.
         """
-        connection = Connection(Context(TLSv1_METHOD), socket_any_family())
+        connection = Connection(Context(SSLv23_METHOD), socket_any_family())
         connection.set_shutdown(RECEIVED_SHUTDOWN)
         assert connection.get_shutdown() == RECEIVED_SHUTDOWN
 
@@ -2543,7 +2543,7 @@
         `Connection.set_app_data` and later retrieved with
         `Connection.get_app_data`.
         """
-        conn = Connection(Context(TLSv1_METHOD), None)
+        conn = Connection(Context(SSLv23_METHOD), None)
         assert None is conn.get_app_data()
         app_data = object()
         conn.set_app_data(app_data)
@@ -2554,7 +2554,7 @@
         `Connection.makefile` is not implemented and calling that
         method raises `NotImplementedError`.
         """
-        conn = Connection(Context(TLSv1_METHOD), None)
+        conn = Connection(Context(SSLv23_METHOD), None)
         with pytest.raises(NotImplementedError):
             conn.makefile()
 
@@ -2565,7 +2565,7 @@
         chain = _create_certificate_chain()
         [(cakey, cacert), (ikey, icert), (skey, scert)] = chain
 
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         context.use_certificate(scert)
         client = Connection(context, None)
         cert = client.get_certificate()
@@ -2578,7 +2578,7 @@
 
         If there is no certificate, it returns None.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         client = Connection(context, None)
         cert = client.get_certificate()
         assert cert is None
@@ -2591,7 +2591,7 @@
         chain = _create_certificate_chain()
         [(cakey, cacert), (ikey, icert), (skey, scert)] = chain
 
-        serverContext = Context(TLSv1_METHOD)
+        serverContext = Context(SSLv23_METHOD)
         serverContext.use_privatekey(skey)
         serverContext.use_certificate(scert)
         serverContext.add_extra_chain_cert(icert)
@@ -2600,7 +2600,7 @@
         server.set_accept_state()
 
         # Create the client
-        clientContext = Context(TLSv1_METHOD)
+        clientContext = Context(SSLv23_METHOD)
         clientContext.set_verify(VERIFY_NONE, verify_cb)
         client = Connection(clientContext, None)
         client.set_connect_state()
@@ -2618,12 +2618,12 @@
         `Connection.get_peer_cert_chain` returns `None` if the peer sends
         no certificate chain.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         ctx.use_privatekey(load_privatekey(FILETYPE_PEM, server_key_pem))
         ctx.use_certificate(load_certificate(FILETYPE_PEM, server_cert_pem))
         server = Connection(ctx, None)
         server.set_accept_state()
-        client = Connection(Context(TLSv1_METHOD), None)
+        client = Connection(Context(SSLv23_METHOD), None)
         client.set_connect_state()
         interact_in_memory(client, server)
         assert None is server.get_peer_cert_chain()
@@ -2633,7 +2633,7 @@
         `Connection.get_session` returns `None` when used with an object
         which has not been connected.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         server = Connection(ctx, None)
         session = server.get_session()
         assert None is session
@@ -2662,7 +2662,7 @@
         `Connection.set_session` raises `TypeError` if called with an object
         that is not an instance of `Session`.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         connection = Connection(ctx, None)
         with pytest.raises(TypeError):
             connection.set_session(123)
@@ -2785,7 +2785,7 @@
                 "Failed to fill socket buffer, cannot test BIO want write"
             )
 
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         conn = Connection(ctx, client_socket)
         # Client's speak first, so make it an SSL client
         conn.set_connect_state()
@@ -2799,7 +2799,7 @@
         `Connection.get_finished` returns `None` before TLS handshake
         is completed.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         connection = Connection(ctx, None)
         assert connection.get_finished() is None
 
@@ -2808,7 +2808,7 @@
         `Connection.get_peer_finished` returns `None` before TLS handshake
         is completed.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         connection = Connection(ctx, None)
         assert connection.get_peer_finished() is None
 
@@ -2852,7 +2852,7 @@
         `Connection.get_cipher_name` returns `None` if no connection
         has been established.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         conn = Connection(ctx, None)
         assert conn.get_cipher_name() is None
 
@@ -2877,7 +2877,7 @@
         `Connection.get_cipher_version` returns `None` if no connection
         has been established.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         conn = Connection(ctx, None)
         assert conn.get_cipher_version() is None
 
@@ -2902,7 +2902,7 @@
         `Connection.get_cipher_bits` returns `None` if no connection has
         been established.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         conn = Connection(ctx, None)
         assert conn.get_cipher_bits() is None
 
@@ -2955,7 +2955,7 @@
         `Connection.bio_read` raises `OpenSSL.SSL.WantReadError` if there are
         no bytes available to be read from the BIO.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         conn = Connection(ctx, None)
         with pytest.raises(WantReadError):
             conn.bio_read(1024)
@@ -2966,7 +2966,7 @@
         `Connection.bio_read` raises `TypeError` if passed a non-integer
         argument.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         conn = Connection(ctx, None)
         with pytest.raises(TypeError):
             conn.bio_read(bufsize)
@@ -2976,7 +2976,7 @@
         `Connection.bio_read` accepts an integer giving the maximum number
         of bytes to read and return.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         conn = Connection(ctx, None)
         conn.set_connect_state()
         try:
@@ -2997,7 +2997,7 @@
         `Connection.get_cipher_list` returns a list of `bytes` giving the
         names of the ciphers which might be used.
         """
-        connection = Connection(Context(TLSv1_METHOD), None)
+        connection = Connection(Context(SSLv23_METHOD), None)
         ciphers = connection.get_cipher_list()
         assert isinstance(ciphers, list)
         for cipher in ciphers:
@@ -3023,7 +3023,7 @@
         When called with arguments other than string argument for its first
         parameter, `Connection.send` raises `TypeError`.
         """
-        connection = Connection(Context(TLSv1_METHOD), None)
+        connection = Connection(Context(SSLv23_METHOD), None)
         with pytest.raises(TypeError):
             connection.send(object())
         with pytest.raises(TypeError):
@@ -3097,7 +3097,7 @@
         `Connection.send` bails out as SSL_write only
         accepts an int for the buffer length.
         """
-        connection = Connection(Context(TLSv1_METHOD), None)
+        connection = Connection(Context(SSLv23_METHOD), None)
         with pytest.raises(ValueError) as exc_info:
             connection.send(VeryLarge())
         exc_info.match(r"Cannot send more than .+ bytes at once")
@@ -3244,7 +3244,7 @@
         When called with arguments other than a string argument for its first
         parameter, `Connection.sendall` raises `TypeError`.
         """
-        connection = Connection(Context(TLSv1_METHOD), None)
+        connection = Connection(Context(SSLv23_METHOD), None)
         with pytest.raises(TypeError):
             connection.sendall(object())
         with pytest.raises(TypeError):
@@ -3337,7 +3337,7 @@
         `Connection.total_renegotiations` returns `0` before any renegotiations
         have happened.
         """
-        connection = Connection(Context(TLSv1_METHOD), None)
+        connection = Connection(Context(SSLv23_METHOD), None)
         assert connection.total_renegotiations() == 0
 
     def test_renegotiate(self):
@@ -3512,7 +3512,7 @@
         """
         # Create the server side Connection.  This is mostly setup boilerplate
         # - use TLSv1, use a particular certificate, etc.
-        server_ctx = Context(TLSv1_METHOD)
+        server_ctx = Context(SSLv23_METHOD)
         server_ctx.set_options(OP_NO_SSLv2 | OP_NO_SSLv3 | OP_SINGLE_DH_USE)
         server_ctx.set_verify(
             VERIFY_PEER | VERIFY_FAIL_IF_NO_PEER_CERT | VERIFY_CLIENT_ONCE,
@@ -3539,7 +3539,7 @@
         """
         # Now create the client side Connection.  Similar boilerplate to the
         # above.
-        client_ctx = Context(TLSv1_METHOD)
+        client_ctx = Context(SSLv23_METHOD)
         client_ctx.set_options(OP_NO_SSLv2 | OP_NO_SSLv3 | OP_SINGLE_DH_USE)
         client_ctx.set_verify(
             VERIFY_PEER | VERIFY_FAIL_IF_NO_PEER_CERT | VERIFY_CLIENT_ONCE,
@@ -3652,7 +3652,7 @@
         Test that `OpenSSL.SSL.bio_read` and `OpenSSL.SSL.bio_write` don't
         work on `OpenSSL.SSL.Connection`() that use sockets.
         """
-        context = Context(TLSv1_METHOD)
+        context = Context(SSLv23_METHOD)
         client = socket_any_family()
         clientSSL = Connection(context, client)
         with pytest.raises(TypeError):
@@ -3742,7 +3742,7 @@
         `Context.set_client_ca_list` raises a `TypeError` if called with a
         non-list or a list that contains objects other than X509Names.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             ctx.set_client_ca_list("spam")
         with pytest.raises(TypeError):
@@ -3846,7 +3846,7 @@
         `Context.add_client_ca` raises `TypeError` if called with
         a non-X509 object.
         """
-        ctx = Context(TLSv1_METHOD)
+        ctx = Context(SSLv23_METHOD)
         with pytest.raises(TypeError):
             ctx.add_client_ca("spam")