Add coherency tests

This commit is contained in:
Grégory Soutadé 2016-02-24 19:17:40 +01:00
parent 911f909f96
commit b05329f9be

View File

@ -16,7 +16,7 @@ def get_random_ip_v4():
(ord(os.urandom(1)), ord(os.urandom(1)), ord(os.urandom(1)), ord(os.urandom(1)))
return ip
def test_ip(ip, verbose=True, proxy=iptogeo):
def test_ip(ip, verbose=True, proxy=iptogeo, result=None):
try:
(ipres, country_code) = proxy.ip_to_geo(ip)
except IPToGeoException, e:
@ -27,18 +27,31 @@ def test_ip(ip, verbose=True, proxy=iptogeo):
if verbose:
if not country_code:
print 'Country code for %s (%08x) not found' % (ip, ipres)
print 'Country code for %s (%s) not found' % (ip, ipres)
else:
print 'Country code for %s (%08x) is %s' % (ip, ipres, country_code)
print 'Country code for %s (%s) is %s' % (ip, ipres, country_code)
if not result is None:
if not country_code: country_code = ''
if result != country_code:
raise Exception('Bad result %s != %s' % (country_code, result))
print '#### Coherence test'
test_ip('1.5.7.3')
test_ip('1.5.255.4')
test_ip('1.6.255.4')
test_ip('2.0.0.0')
test_ip('127.0.0.1')
test_ip('1.55.3.12')
test_ip('1.57.0.0')
test_ip('1.5.7.3', result='jp')
test_ip('1.5.255.4', result='jp')
test_ip('1.6.255.4', result='in')
test_ip('2.0.0.0', result='fr')
test_ip('127.0.0.1', result='')
test_ip('1.55.3.12', result='vn')
test_ip('1.57.0.0', result='cn')
test_ip('192.168.2.2', result='')
test_ip('2001:600::', result='eu')
test_ip('2001:608::00', result='de')
test_ip('2001:0660:0000:0000:0000:0000:0000:0000', result='fr')
test_ip('2001:670:1234:5678:9abc:def0:1234:5678', result='fi')
test_ip('8001::', result='')
test_ip('fe80::1a03:73ff:fee9:8705', result='')
print '#### 5 sockets test'
for i in range(0, 6):