HEX
Server: nginx/1.24.0
System: Linux ip-10-50-20-85 6.5.0-1022-aws #22~22.04.1-Ubuntu SMP Fri Jun 14 16:31:00 UTC 2024 x86_64
User: usefuloffices.org (1001)
PHP: 8.1.2-1ubuntu2.23
Disabled: NONE
Upload Files
File: //proc/thread-self/root/lib/python3/dist-packages/hyperlink/test/test_socket.py
# 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")