Add more tests

This commit is contained in:
Grégory Soutadé 2016-02-04 20:39:50 +01:00
parent d110f892b4
commit 73732adbef

View File

@ -4,20 +4,29 @@
import os
from iptogeo import IPToGeo, IPToGeoException
iptogeo = IPToGeo()
TIMEOUT=3
iptogeo = IPToGeo(timeout=TIMEOUT)
def get_random_ip_v4():
ip = '%d.%d.%d.%d' % \
(ord(os.urandom(1)), ord(os.urandom(1)), ord(os.urandom(1)), ord(os.urandom(1)))
return ip
def test_ip(ip):
def test_ip(ip, verbose=True, proxy=iptogeo):
try:
(ipres, country_code) = iptogeo.ip_to_geo(ip)
(ipres, country_code) = proxy.ip_to_geo(ip)
except IPToGeoException, e:
if verbose:
print 'Error with IP %s' % (ip)
print e
return
if verbose:
if not country_code:
print 'Country code for %s (%08x) not found' % (ip, ipres)
else:
print 'Country code for %s (%08x) is %s' % (ip, ipres, country_code)
print '#### Coherence test'
test_ip('1.5.7.3')
test_ip('1.5.255.4')
test_ip('1.6.255.4')
@ -26,8 +35,27 @@ test_ip('127.0.0.1')
test_ip('1.55.3.12')
test_ip('1.57.0.0')
print '#### 5 sockets test'
for i in range(0, 6):
print 'Test %d' % (i)
test_ip(get_random_ip_v4(), verbose=False, proxy=IPToGeo(timeout=TIMEOUT))
print '#### 35 sockets test'
for i in range(0, 36):
print 'Test %d' % (i)
test_ip(get_random_ip_v4(), verbose=False, proxy=IPToGeo(timeout=TIMEOUT))
print '#### 1 socket heavy test'
for i in range(0, 1000):
print 'Test %d' % (i)
test_ip(get_random_ip_v4(), verbose=False)
print '#### 35 sockets heavy test'
geo_proxy = []
for i in range(0, 36):
geo_proxy.append(IPToGeo(timeout=TIMEOUT))
for i in range(0, 1000):
ip = '%d.%d.%d.%d' % \
(ord(os.urandom(1)), ord(os.urandom(1)), ord(os.urandom(1)), ord(os.urandom(1)))
test_ip(ip)
print 'Test %d' % (i)
for proxy in geo_proxy:
test_ip(get_random_ip_v4(), verbose=False, proxy=proxy)