Skip to content

Commit 09d32b3

Browse files
committed
Update tests
1 parent 4b85253 commit 09d32b3

File tree

1 file changed

+20
-9
lines changed

1 file changed

+20
-9
lines changed

Lib/test/test_httpservers.py

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import unittest
3232
from test import support
3333
from test.support import (
34-
is_apple, os_helper, requires_subprocess, threading_helper
34+
is_apple, os_helper, requires_subprocess, threading_helper, import_helper
3535
)
3636

3737
try:
@@ -68,6 +68,15 @@ def create_https_server(
6868
)
6969

7070

71+
class TestSSLDisabled(unittest.TestCase):
72+
def test_https_server_raises_runtime_error(self):
73+
with import_helper.isolated_modules():
74+
sys.modules['ssl'] = None
75+
certfile = certdata_file("keycert.pem")
76+
with self.assertRaises(RuntimeError):
77+
create_https_server(certfile)
78+
79+
7180
class TestServerThread(threading.Thread):
7281
def __init__(self, test_object, request_handler, tls=None):
7382
threading.Thread.__init__(self)
@@ -77,12 +86,10 @@ def __init__(self, test_object, request_handler, tls=None):
7786

7887
def run(self):
7988
if self.tls:
80-
self.server = HTTPSServer(
81-
('localhost', 0),
82-
self.request_handler,
83-
certfile=self.tls[0],
84-
keyfile=self.tls[1],
85-
password=self.tls[2],
89+
certfile, keyfile, password = self.tls
90+
self.server = create_https_server(
91+
certfile, keyfile, password,
92+
request_handler=self.request_handler,
8693
)
8794
else:
8895
self.server = HTTPServer(('localhost', 0), self.request_handler)
@@ -393,7 +400,9 @@ def test_valid_certdata(self):
393400
(self.ONLYCERT, self.ONLYKEY_PROTECTED, self.KEY_PASSWORD),
394401
]
395402
for certfile, keyfile, password in valid_certdata:
396-
with self.subTest(certfile=certfile, keyfile=keyfile):
403+
with self.subTest(certfile=certfile,
404+
keyfile=keyfile,
405+
password=password):
397406
server = create_https_server(certfile, keyfile, password)
398407
self.assertIsInstance(server, HTTPSServer)
399408
server.server_close()
@@ -408,7 +417,9 @@ def test_invalid_certdata(self):
408417
(self.CERTFILE_PROTECTED, None, self.BADPASSWORD),
409418
]
410419
for certfile, keyfile, password in invalid_certdata:
411-
with self.subTest(certfile=certfile, keyfile=keyfile):
420+
with self.subTest(certfile=certfile,
421+
keyfile=keyfile,
422+
password=password):
412423
with self.assertRaises(ssl.SSLError):
413424
create_https_server(certfile, keyfile, password)
414425

0 commit comments

Comments
 (0)