@@ -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