forked from python-hyper/hyperlink
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_socket.py
More file actions
45 lines (36 loc) · 1.39 KB
/
test_socket.py
File metadata and controls
45 lines (36 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# mypy: always-true=inet_pton
try:
from socket import inet_pton
except ImportError:
inet_pton = None # type: ignore[assignment]
if not inet_pton:
import socket
from .common import HyperlinkTestCase
from .._socket import inet_pton
class TestSocket(HyperlinkTestCase):
def test_inet_pton_ipv4_valid(self):
# type: () -> None
data = inet_pton(socket.AF_INET, "127.0.0.1")
assert isinstance(data, bytes)
def test_inet_pton_ipv4_bogus(self):
# type: () -> None
with self.assertRaises(socket.error):
inet_pton(socket.AF_INET, "blah")
def test_inet_pton_ipv6_valid(self):
# type: () -> None
data = inet_pton(socket.AF_INET6, "::1")
assert isinstance(data, bytes)
def test_inet_pton_ipv6_bogus(self):
# type: () -> None
with self.assertRaises(socket.error):
inet_pton(socket.AF_INET6, "blah")
def test_inet_pton_bogus_family(self):
# type: () -> None
# Find an integer not associated with a known address family
i = int(socket.AF_INET6)
while True:
if i != socket.AF_INET and i != socket.AF_INET6:
break
i += 100
with self.assertRaises(socket.error):
inet_pton(i, "127.0.0.1")