summaryrefslogtreecommitdiff
path: root/Lib/test/test_httpservers.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_httpservers.py')
-rw-r--r--Lib/test/test_httpservers.py68
1 files changed, 55 insertions, 13 deletions
diff --git a/Lib/test/test_httpservers.py b/Lib/test/test_httpservers.py
index 3d8e0af8b4..8357ee9145 100644
--- a/Lib/test/test_httpservers.py
+++ b/Lib/test/test_httpservers.py
@@ -1118,21 +1118,63 @@ class MiscTestCase(unittest.TestCase):
class ScriptTestCase(unittest.TestCase):
+
+ def mock_server_class(self):
+ return mock.MagicMock(
+ return_value=mock.MagicMock(
+ __enter__=mock.MagicMock(
+ return_value=mock.MagicMock(
+ socket=mock.MagicMock(
+ getsockname=lambda: ('', 0),
+ ),
+ ),
+ ),
+ ),
+ )
+
+ @mock.patch('builtins.print')
+ def test_server_test_unspec(self, _):
+ mock_server = self.mock_server_class()
+ server.test(ServerClass=mock_server, bind=None)
+ self.assertIn(
+ mock_server.address_family,
+ (socket.AF_INET6, socket.AF_INET),
+ )
+
+ @mock.patch('builtins.print')
+ def test_server_test_localhost(self, _):
+ mock_server = self.mock_server_class()
+ server.test(ServerClass=mock_server, bind="localhost")
+ self.assertIn(
+ mock_server.address_family,
+ (socket.AF_INET6, socket.AF_INET),
+ )
+
+ ipv6_addrs = (
+ "::",
+ "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
+ "::1",
+ )
+
+ ipv4_addrs = (
+ "0.0.0.0",
+ "8.8.8.8",
+ "127.0.0.1",
+ )
+
@mock.patch('builtins.print')
def test_server_test_ipv6(self, _):
- mock_server = mock.MagicMock()
- server.test(ServerClass=mock_server, bind="::")
- self.assertEqual(mock_server.address_family, socket.AF_INET6)
-
- mock_server.reset_mock()
- server.test(ServerClass=mock_server,
- bind="2001:0db8:85a3:0000:0000:8a2e:0370:7334")
- self.assertEqual(mock_server.address_family, socket.AF_INET6)
-
- mock_server.reset_mock()
- server.test(ServerClass=mock_server,
- bind="::1")
- self.assertEqual(mock_server.address_family, socket.AF_INET6)
+ for bind in self.ipv6_addrs:
+ mock_server = self.mock_server_class()
+ server.test(ServerClass=mock_server, bind=bind)
+ self.assertEqual(mock_server.address_family, socket.AF_INET6)
+
+ @mock.patch('builtins.print')
+ def test_server_test_ipv4(self, _):
+ for bind in self.ipv4_addrs:
+ mock_server = self.mock_server_class()
+ server.test(ServerClass=mock_server, bind=bind)
+ self.assertEqual(mock_server.address_family, socket.AF_INET)
def test_main(verbose=None):