require 'spec_helper' describe MaxMindIsp do include UsesTempFiles ISP_CSV='small.csv' in_directory_with_file(ISP_CSV) before do content_for_file('Copyright (c) 2011 MaxMind Inc. All Rights Reserved. "beginIp","endIp","countryCode","ISP" "1.0.0.0","1.0.0.255","AU","APNIC Debogon Project" "1.0.1.0","1.0.1.255","CN","Chinanet Fujian Province Network" "1.0.4.0","1.0.7.255","AU","Bigred,inc"'.encode(Encoding::ISO_8859_1)) MaxMindIsp.import_from_max_mind(ISP_CSV) end let(:first) { MaxMindIsp.find_by_ip_bottom(MaxMindIsp.ip_address_to_int('1.0.0.0')) } let(:second) { MaxMindIsp.find_by_ip_bottom(MaxMindIsp.ip_address_to_int('1.0.1.0')) } let(:third) { MaxMindIsp.find_by_ip_bottom(MaxMindIsp.ip_address_to_int('1.0.4.0')) } it { MaxMindIsp.count.should == 3 } it { first.country.should == 'AU' } it { first.ip_bottom.should == MaxMindIsp.ip_address_to_int('1.0.0.0') } it { first.ip_top.should == MaxMindIsp.ip_address_to_int('1.0.0.255') } it { first.isp.should == 'APNIC Debogon Project' } it { second.country.should == 'CN' } it { second.ip_bottom.should == MaxMindIsp.ip_address_to_int('1.0.1.0') } it { second.ip_top.should == MaxMindIsp.ip_address_to_int('1.0.1.255') } it { second.isp.should == 'Chinanet Fujian Province Network' } it { third.country.should == 'AU' } it { third.ip_bottom.should == MaxMindIsp.ip_address_to_int('1.0.4.0') } it { third.ip_top.should == MaxMindIsp.ip_address_to_int('1.0.7.255') } it { third.isp.should == 'Bigred,inc' } end