Ejemplo n.º 1
0
    def test_ipv4_public(self):
        from faker.providers.internet import Provider
        provider = Provider(self.generator)

        for _ in range(999):
            address = provider.ipv4_public()
            address = text.force_text(address)
            self.assertTrue(len(address) >= 7)
            self.assertTrue(len(address) <= 15)
            self.assertFalse(ip_address(address).is_private, address)
            self.assertTrue(
                re.compile(r'^(\d{1,3}\.){3}\d{1,3}$').search(address))

        for _ in range(999):
            address = provider.ipv4_public(network=True)
            address = text.force_text(address)
            self.assertTrue(len(address) >= 9)
            self.assertTrue(len(address) <= 18)
            # Hack around ipaddress module
            # As 192.0.0.0 is net addr of many 192.0.0.0/* nets
            # ipaddress considers them as private
            if ip_network(address).network_address != ip_address('192.0.0.0'):
                self.assertFalse(ip_network(address)[0].is_private, address)
            self.assertTrue(
                re.compile(r'^(\d{1,3}\.){3}\d{1,3}/\d{1,2}$').search(address))
Ejemplo n.º 2
0
    def test_ipv6(self):
        for _ in range(100):
            ip = self.factory.ipv6(private=True)
            ip = text.force_text(ip)
            self.assertTrue(ip_address(ip).is_private)

            ip = self.factory.ipv6(private=False)
            ip = text.force_text(ip)
            self.assertFalse(ip_address(ip).is_private)
Ejemplo n.º 3
0
 def ipv6(self, network=False, private=False):
     """Produce a random IPv6 address or network with a valid CIDR."""
     if private is True:
         networks = dict()
         for i in range(len(_private_ipv6_networks)):
             networks[i] = _private_ipv6_networks[i].num_addresses
         k = self.generator.random_element(networks)
         _net = _private_ipv6_networks[k]
         address = str(
             ip_address(
                 self.generator.random.randint(
                     int(_net.network_address),
                     int(_net.network_address) + _net.num_addresses - 1)))
     else:
         # It's unfair to trying to not find private ip but it's much faster
         address = str(
             ip_address(
                 self.generator.random.randint(2**IPV4LENGTH,
                                               (2**IPV6LENGTH) - 1)))
         while ip_address(force_text(address)).is_private is True:
             address = str(
                 ip_address(
                     self.generator.random.randint(2**IPV4LENGTH,
                                                   (2**IPV6LENGTH) - 1)))
     if network is True:
         address += '/' + str(self.generator.random.randint(0, IPV6LENGTH))
         address = str(ip_network(address, strict=False))
     return address
Ejemplo n.º 4
0
    def test_ipv4_public_class_c(self):
        from faker.providers.internet import Provider
        provider = Provider(self.generator)

        for _ in range(999):
            address = provider.ipv4_public(address_class='c')
            address = text.force_text(address)
            self.assertTrue(len(address) >= 7)
            self.assertTrue(len(address) <= 15)
            self.assertFalse(ip_address(address).is_private, address)
Ejemplo n.º 5
0
    def test_ipv4_private_class_c(self):
        from faker.providers.internet import Provider
        provider = Provider(self.generator)

        for _ in range(999):
            address = provider.ipv4_private(address_class='c')
            address = text.force_text(address)
            self.assertTrue(len(address) >= 7)
            self.assertTrue(len(address) <= 15)
            self.assertTrue(ip_address(address).is_private)
            self.assertTrue(
                re.compile(r'^192\.168\.\d{1,3}\.\d{1,3}$').search(address))
Ejemplo n.º 6
0
    def test_ipv4_private(self):
        from faker.providers.internet import Provider
        provider = Provider(self.generator)

        for _ in range(999):
            address = provider.ipv4_private()
            address = text.force_text(address)
            self.assertTrue(len(address) >= 7)
            self.assertTrue(len(address) <= 15)
            self.assertTrue(ip_address(address).is_private)
            self.assertTrue(
                re.compile(r'^(\d{1,3}\.){3}\d{1,3}$').search(address))

        for _ in range(999):
            address = provider.ipv4_private(network=True)
            address = text.force_text(address)
            self.assertTrue(len(address) >= 9)
            self.assertTrue(len(address) <= 18)
            self.assertTrue(ip_network(address)[0].is_private)
            self.assertTrue(
                re.compile(r'^(\d{1,3}\.){3}\d{1,3}/\d{1,2}$').search(address))