@@ -263,7 +263,8 @@ def utc_offset(): #NOTE: ignore issues like #1647654
263263
264264def test_wrap_socket (sock , * ,
265265 cert_reqs = ssl .CERT_NONE , ca_certs = None ,
266- ciphers = None , ciphersuites = None , min_version = None ,
266+ ciphers = None , ciphersuites = None ,
267+ min_version = None , max_version = None ,
267268 certfile = None , keyfile = None ,
268269 ** kwargs ):
269270 if not kwargs .get ("server_side" ):
@@ -285,6 +286,8 @@ def test_wrap_socket(sock, *,
285286 context .set_ciphersuites (ciphersuites )
286287 if min_version is not None :
287288 context .minimum_version = min_version
289+ if max_version is not None :
290+ context .maximum_version = max_version
288291 return context .wrap_socket (sock , ** kwargs )
289292
290293
@@ -2245,7 +2248,7 @@ def test_transport_eof(self):
22452248
22462249@requires_tls_version ('TLSv1_3' )
22472250class SimpleBackgroundTestsTLS_1_3 (unittest .TestCase ):
2248- """Tests that connect to a simple server running in the background"""
2251+ """Tests that connect to a simple server running in the background. """
22492252
22502253 def setUp (self ):
22512254 ciphers = [cipher ['name' ] for cipher in ctx .get_ciphers ()
@@ -2278,17 +2281,17 @@ def test_ciphersuites(self):
22782281 s .connect (self .server_addr )
22792282 self .assertEqual (s .cipher ()[0 ], self .matching_cipher )
22802283
2281- # Test mismatched TLS 1.3 cipher suites
2282- if self .matching_client != self .mismatched_cipher :
2283- with test_wrap_socket (socket .socket (socket .AF_INET ),
2284- cert_reqs = ssl .CERT_NONE ,
2285- ciphersuites = self .mismatched_cipher ,
2286- min_version = ssl .TLSVersion .TLSv1_3 ) as s :
2287- with self .assertRaises (ssl .SSLError ):
2288- s .connect (self .server_addr )
2289- else :
2284+ def test_ciphersuite_mismatch (self ):
2285+ if self .matching_cipher == self .mismatched_cipher :
22902286 self .skipTest ("Multiple TLS 1.3 ciphers are not available" )
22912287
2288+ with test_wrap_socket (socket .socket (socket .AF_INET ),
2289+ cert_reqs = ssl .CERT_NONE ,
2290+ ciphersuites = self .mismatched_cipher ,
2291+ min_version = ssl .TLSVersion .TLSv1_3 ) as s :
2292+ with self .assertRaises (ssl .SSLError ):
2293+ s .connect (self .server_addr )
2294+
22922295
22932296@support .requires_resource ('network' )
22942297class NetworkedTests (unittest .TestCase ):
0 commit comments