Ejemplo n.º 1
0
    def test_is_valid_ip_address(self):
        valid_ipv4_addresses = [
            "192.168.1.100",
            "10.0.0.1",
            "213.151.0.8",
            "77.77.77.77",
        ]

        invalid_ipv4_addresses = [
            "10.1",
            "256.256.256.256",
            "0.567.567.567",
            "192.168.0.257",
        ]

        valid_ipv6_addresses = [
            "fe80::200:5aee:feaa:20a2",
            "2607:f0d0:1002:51::4",
            "2607:f0d0:1002:0051:0000:0000:0000:0004",
            "::1",
        ]

        invalid_ipv6_addresses = [
            "2607:f0d",
            "2607:f0d0:0004",
        ]

        for address in valid_ipv4_addresses:
            status = is_valid_ip_address(address=address,
                                         family=socket.AF_INET)
            self.assertTrue(status)

        for address in valid_ipv6_addresses:
            status = is_valid_ip_address(address=address,
                                         family=socket.AF_INET6)
            self.assertTrue(status)

        for address in chain(invalid_ipv4_addresses, invalid_ipv6_addresses):
            status = is_valid_ip_address(address=address,
                                         family=socket.AF_INET)
            self.assertFalse(status)

        for address in chain(invalid_ipv4_addresses, invalid_ipv6_addresses):
            status = is_valid_ip_address(address=address,
                                         family=socket.AF_INET6)
            self.assertFalse(status)
Ejemplo n.º 2
0
 def is_supported(address):
     """
     Return True for supported address.
     """
     if force_ipv4 and not is_valid_ip_address(address=address,
                                               family=socket.AF_INET):
         return False
     return True
Ejemplo n.º 3
0
    def test_is_valid_ip_address(self):
        valid_ipv4_addresses = [
            '192.168.1.100',
            '10.0.0.1',
            '213.151.0.8',
            '77.77.77.77'
        ]

        invalid_ipv4_addresses = [
            '10.1',
            '256.256.256.256',
            '0.567.567.567',
            '192.168.0.257'
        ]

        valid_ipv6_addresses = [
            'fe80::200:5aee:feaa:20a2',
            '2607:f0d0:1002:51::4',
            '2607:f0d0:1002:0051:0000:0000:0000:0004',
            '::1'
        ]

        invalid_ipv6_addresses = [
            '2607:f0d',
            '2607:f0d0:0004',
        ]

        for address in valid_ipv4_addresses:
            status = is_valid_ip_address(address=address,
                                         family=socket.AF_INET)
            self.assertTrue(status)

        for address in valid_ipv6_addresses:
            status = is_valid_ip_address(address=address,
                                         family=socket.AF_INET6)
            self.assertTrue(status)

        for address in chain(invalid_ipv4_addresses, invalid_ipv6_addresses):
            status = is_valid_ip_address(address=address,
                                         family=socket.AF_INET)
            self.assertFalse(status)

        for address in chain(invalid_ipv4_addresses, invalid_ipv6_addresses):
            status = is_valid_ip_address(address=address,
                                         family=socket.AF_INET6)
            self.assertFalse(status)
Ejemplo n.º 4
0
def _filter_ipv4(addresses):
    """
    Select IPv4 addresses from the list of IP addresses.

    :param list addresses: The list of the addresses to filter.
    :return: The list of addresses that are IPv4 addresses.
    :rtype: list
    """
    return [
        address for address in addresses
        if is_valid_ip_address(address=address, family=socket.AF_INET)
    ]
Ejemplo n.º 5
0
def _filter_ipv4(addresses):
    """
    Select IPv4 addresses from the list of IP addresses.

    :param list addresses: The list of the addresses to filter.
    :return: The list of addresses that are IPv4 addresses.
    :rtype: list
    """
    return [
        address for address in addresses
        if is_valid_ip_address(address=address, family=socket.AF_INET)
    ]