From 73732adbef88a8b2c50f514a02247e629f8037fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Soutad=C3=A9?= Date: Thu, 4 Feb 2016 20:39:50 +0100 Subject: [PATCH] Add more tests --- tests/test_ip_to_geo.py | 50 ++++++++++++++++++++++++++++++++--------- 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/tests/test_ip_to_geo.py b/tests/test_ip_to_geo.py index f8604c2..f2de38c 100755 --- a/tests/test_ip_to_geo.py +++ b/tests/test_ip_to_geo.py @@ -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: - print e + if verbose: + print 'Error with IP %s' % (ip) + print e return - 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) + 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)