Added geoip tests.

This commit is contained in:
Martin Edenhofer 2015-03-22 13:23:05 +01:00
parent 963bbb5396
commit bdeb053c14
2 changed files with 65 additions and 0 deletions

View file

@ -28,6 +28,12 @@ class GeoIp::ZammadGeoIp
end end
data = JSON.parse( response.body ) data = JSON.parse( response.body )
# compat. map
if data && data['country_code2']
data['country_code'] = data['country_code2']
end
Cache.write( cache_key, data, { :expires_in => 90.days } ) Cache.write( cache_key, data, { :expires_in => 90.days } )
rescue => e rescue => e
puts "ERROR: #{host}#{url}: " + e.inspect puts "ERROR: #{host}#{url}: " + e.inspect

View file

@ -0,0 +1,59 @@
# encoding: utf-8
require 'integration_test_helper'
class GeoIpTest < ActiveSupport::TestCase
# check
test 'check some results' do
result = GeoIp.location( '127.0.0.0.1' )
assert(result)
assert_equal(nil, result['country_name'])
assert_equal(nil, result['city_name'])
assert_equal(nil, result['country_code'])
assert_equal(nil, result['continent_code'])
assert_equal(nil, result['latitude'])
assert_equal(nil, result['longitude'])
result = GeoIp.location( '195.65.29.254' )
assert(result)
assert_equal('Switzerland', result['country_name'])
assert_equal('Regensdorf', result['city_name'])
assert_equal('CH', result['country_code'])
assert_equal('EU', result['continent_code'])
assert_equal(47.4299, result['latitude'])
assert_equal(8.465100000000007, result['longitude'])
result = GeoIp.location( '134.109.140.74' )
assert(result)
assert_equal('Germany', result['country_name'])
assert_equal('Chemnitz', result['city_name'])
assert_equal('DE', result['country_code'])
assert_equal('EU', result['continent_code'])
assert_equal(50.83330000000001, result['latitude'])
assert_equal(12.916699999999992, result['longitude'])
result = GeoIp.location( '46.253.55.170' )
assert(result)
assert_equal('Germany', result['country_name'])
assert_equal('Halle', result['city_name'])
assert_equal('DE', result['country_code'])
assert_equal('EU', result['continent_code'])
assert_equal(51.5, result['latitude'])
assert_equal(12.0, result['longitude'])
result = GeoIp.location( '169.229.216.200' )
assert(result)
assert_equal('United States', result['country_name'])
assert_equal('Berkeley', result['city_name'])
assert_equal('US', result['country_code'])
assert_equal('NA', result['continent_code'])
assert_equal(37.86680000000001, result['latitude'])
assert_equal(-122.2536, result['longitude'])
end
end