def test_not_ip(self): with self.assertRaises(ValueError): # ipaddress should raise a ValueError exception ip.strip_ip(u"inboxen") with self.assertRaises(ValueError), \ mock.patch("inboxen.utils.ip.ipaddress.ip_address") as ip_mock: # Mock is not an instance of IPv4Address or IPv6Address, so our # code should raise its own ValueError ip.strip_ip("") self.assertEqual(ip_mock.call_count, 1)
def test_ipv6(self): filled_ip_addr = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff" for i in range(129): netmask = 2**128 - 2**i expected_address = ipaddress.ip_address(netmask) self.assertEqual(ip.strip_ip(filled_ip_addr, ipv6_host_class=128 - i), str(expected_address))
def test_ipv4(self): filled_ip_addr = "255.255.255.255" for i in range(33): netmask = (2**32 - 2**i) expected_address = ipaddress.ip_address(netmask) self.assertEqual(ip.strip_ip(filled_ip_addr, ipv4_host_class=32 - i), str(expected_address))
def make_key(request, dt): key = "{}{}-{}".format( settings.REGISTER_LIMIT_CACHE_PREFIX, ip.strip_ip(request.META["REMOTE_ADDR"]), dt.strftime("%Y%m%d%H%M"), ) key = urllib.parse.quote(key.encode("utf-8")) return key
def test_ipv6(self): filled_ip_addr = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff" for i in range(129): with self.subTest(i=i): netmask = 2**128 - 2**i expected_address = ipaddress.IPv6Address(netmask) self.assertEqual( ip.strip_ip(filled_ip_addr, ipv6_host_prefix=128 - i), str(expected_address))
def test_ipv4(self): filled_ip_addr = "255.255.255.255" for i in range(33): with self.subTest(i=i): netmask = (2**32 - 2**i) expected_address = ipaddress.IPv4Address(netmask) self.assertEqual( ip.strip_ip(filled_ip_addr, ipv4_host_prefix=32 - i), str(expected_address))
def make_key(request, dt): return "{}{}-{}".format( settings.REGISTER_LIMIT_CACHE_PREFIX, strip_ip(request.META["REMOTE_ADDR"]), dt.strftime("%Y%m%d%H%M"), )
def get_ip(self, request): return strip_ip(request.META["REMOTE_ADDR"])