openstreetmap-website/test/lib/nominatim_test.rb
Tom Hughes 63f0b9257d Don't try and change the HTTP client user agent
Because we only create the client once we can't override the
server URL for a test to change the user agent as we don't know
which test will create it.
2024-07-10 19:17:09 +01:00

29 lines
1.2 KiB
Ruby

require "test_helper"
class NominatimTest < ActiveSupport::TestCase
def test_describe_location
stub_request(:get, %r{^https://nominatim\.example\.com/reverse\?})
.to_return(:body => "<reversegeocode><result>Target location</result></reversegeocode>")
with_settings(:nominatim_url => "https://nominatim.example.com/") do
location = Nominatim.describe_location(60, 30, 10, "en")
assert_equal "Target location", location
end
assert_requested :get, "https://nominatim.example.com/reverse?lat=60&lon=30&zoom=10&accept-language=en",
:headers => { "User-Agent" => Settings.server_url }
end
def test_describe_location_no_result
stub_request(:get, %r{^https://nominatim\.example\.com/reverse\?})
.to_return(:body => "<reversegeocode><error>Unable to geocode</error></reversegeocode>")
with_settings(:nominatim_url => "https://nominatim.example.com/") do
location = Nominatim.describe_location(1, 2, 14, "en")
assert_equal "1.000, 2.000", location
end
assert_requested :get, "https://nominatim.example.com/reverse?lat=1&lon=2&zoom=14&accept-language=en",
:headers => { "User-Agent" => Settings.server_url }
end
end