Skip to content

Commit

Permalink
Remove fallback to hostip.info
Browse files Browse the repository at this point in the history
We haven't used hostip.info in production for years, except
for when we did so by accident, leading to a two hour partial
outage when it went down.
  • Loading branch information
tomhughes committed Jan 6, 2020
1 parent f5b0049 commit 473da37
Show file tree
Hide file tree
Showing 10 changed files with 1 addition and 45 deletions.
9 changes: 1 addition & 8 deletions lib/osm.rb
Original file line number Diff line number Diff line change
Expand Up @@ -513,15 +513,8 @@ def xml_root_attributes
def self.ip_to_country(ip_address)
ipinfo = maxmind_database.lookup(ip_address) if Settings.key?(:maxmind_database)

if ipinfo&.found?
country = ipinfo.country.iso_code
else
country = http_client.get("https://api.hostip.info/country.php?ip=#{ip_address}").body
country = "GB" if country == "UK"
end
return ipinfo.country.iso_code if ipinfo&.found?

country
rescue StandardError
nil
end

Expand Down
6 changes: 0 additions & 6 deletions test/application_system_test_case.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,6 @@
class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
driven_by :poltergeist, :screen_size => [1400, 1400], :options => { :timeout => 120 }

def initialize(*args)
stub_request(:get, "https://api.hostip.info/country.php?ip=127.0.0.1")
.to_return(:status => 404)
super(*args)
end

# Phantomjs can pick up browser Accept-Language preferences from your desktop environment.
# We don't want this to happen during the tests!
setup do
Expand Down
6 changes: 0 additions & 6 deletions test/controllers/api/users_controller_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,6 @@

module Api
class UsersControllerTest < ActionController::TestCase
def setup
super

stub_hostip_requests
end

##
# test all routes which lead to this controller
def test_routes
Expand Down
2 changes: 0 additions & 2 deletions test/controllers/site_controller_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ def setup

Settings.id_key = create(:client_application).key
Settings.potlatch2_key = create(:client_application).key

stub_hostip_requests
end

##
Expand Down
6 changes: 0 additions & 6 deletions test/controllers/users_controller_test.rb
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
require "test_helper"

class UsersControllerTest < ActionController::TestCase
def setup
super

stub_hostip_requests
end

##
# test all routes which lead to this controller
def test_routes
Expand Down
4 changes: 0 additions & 4 deletions test/integration/oauth_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@
class OAuthTest < ActionDispatch::IntegrationTest
include OAuth::Helper

def setup
stub_hostip_requests
end

def test_oauth10_web_app
client = create(:client_application, :callback_url => "http://some.web.app.example.org/callback", :allow_read_prefs => true, :allow_write_api => true, :allow_read_gpx => true)

Expand Down
1 change: 0 additions & 1 deletion test/integration/page_locale_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
class PageLocaleTest < ActionDispatch::IntegrationTest
def setup
I18n.locale = "en"
stub_hostip_requests
end

def teardown
Expand Down
1 change: 0 additions & 1 deletion test/integration/user_creation_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ def setup
OmniAuth.config.test_mode = true

stub_request(:get, /.*gravatar.com.*d=404/).to_return(:status => 404)
stub_hostip_requests
end

def teardown
Expand Down
4 changes: 0 additions & 4 deletions test/integration/user_terms_seen_test.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
require "test_helper"

class UserTermsSeenTest < ActionDispatch::IntegrationTest
def setup
stub_hostip_requests
end

def test_api_blocked
user = create(:user, :terms_seen => false, :terms_agreed => nil)

Expand Down
7 changes: 0 additions & 7 deletions test/test_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -159,12 +159,6 @@ def stub_gravatar_request(email, status = 200, body = nil)
stub_request(:get, url).and_return(:status => status, :body => body)
end

def stub_hostip_requests
# Controller tests and integration tests use different IPs
stub_request(:get, "https://api.hostip.info/country.php?ip=0.0.0.0")
stub_request(:get, "https://api.hostip.info/country.php?ip=127.0.0.1")
end

def email_text_parts(message)
message.parts.each_with_object([]) do |part, text_parts|
if part.content_type.start_with?("text/")
Expand All @@ -176,7 +170,6 @@ def email_text_parts(message)
end

def sign_in_as(user)
stub_hostip_requests
visit login_path
fill_in "username", :with => user.email
fill_in "password", :with => "test"
Expand Down

0 comments on commit 473da37

Please sign in to comment.