making it clearer when a test case fails, as to which test case it is that is failing. Adding some more bboxes for testing.

This commit is contained in:
Shaun McDonald 2008-10-21 14:28:52 +00:00
parent 417ded9da5
commit e13b35e0cb
2 changed files with 16 additions and 15 deletions

View file

@ -17,6 +17,7 @@ module MapBoundary
raise("The minimum latitude must be less than the maximum latitude, but it wasn't") raise("The minimum latitude must be less than the maximum latitude, but it wasn't")
end end
unless min_lon >= -180 && min_lat >= -90 && max_lon <= 180 && max_lat <= 90 unless min_lon >= -180 && min_lat >= -90 && max_lon <= 180 && max_lat <= 90
# Due to sanitize_boundaries, it is highly unlikely we'll actually get here
raise("The latitudes must be between -90 and 90, and longitudes between -180 and 180") raise("The latitudes must be between -90 and 90, and longitudes between -180 and 180")
end end

View file

@ -11,14 +11,14 @@ class ApiControllerTest < Test::Unit::TestCase
@controller = ApiController.new @controller = ApiController.new
@request = ActionController::TestRequest.new @request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new @response = ActionController::TestResponse.new
@badbigbbox = %w{ -0.1,-0.1,1.1,1.1 10,10,11,11 } @badbigbbox = %w{ -0.1,-0.1,1.1,1.1 10,10,11,11 }
@badmalformedbbox = %w{ -0.1 hello S0.1,W0.1,N0.1,E0.1 @badmalformedbbox = %w{ -0.1 hello S0.1,W0.1,N0.1,E0.1
10N2W10.1N2.1W } 10N2W10.1N2.1W }
@badlatmixedbbox = %w{ 0,0.1,0.1,0 } @badlatmixedbbox = %w{ 0,0.1,0.1,0 -0.1,80,0.1,70 0.24,54.34,0.25,54.33 }
@badlonmixedbbox = %w{} @badlonmixedbbox = %w{ 80,-0.1,70,0.1 54.34,0.24,54.33,0.25 }
@badlatlonoutboundsbbox = %w{ -190.2,-190.2,-190.1,-190.1 -190.1,89.9,-190,90 } @badlatlonoutboundsbbox = %w{ 191,-0.1,193,0.1 -190.1,89.9,-190,90 }
@goodbbox = %w{ -0.1,-0.1,0.1,0.1 51.1,-0.1,51.2,0 @goodbbox = %w{ -0.1,-0.1,0.1,0.1 51.1,-0.1,51.2,0
-0.1,%20-0.1,%200.1,%200.1 -0.1edcd,-0.1d,0.1,0.1 -0.1E,-0.1E,0.1S,0.1N } -0.1,%20-0.1,%200.1,%200.1 -0.1edcd,-0.1d,0.1,0.1 -0.1E,-0.1E,0.1S,0.1N }
end end
def basic_authorization(user, pass) def basic_authorization(user, pass)
@ -58,7 +58,7 @@ class ApiControllerTest < Test::Unit::TestCase
["trackpoints", "map"].each do |tq| ["trackpoints", "map"].each do |tq|
get tq get tq
assert_response :bad_request assert_response :bad_request
assert_equal "The parameter bbox is required, and must be of the form min_lon,min_lat,max_lon,max_lat", @response.body assert_equal "The parameter bbox is required, and must be of the form min_lon,min_lat,max_lon,max_lat", @response.body, "A bbox param was expected"
end end
end end
@ -66,11 +66,11 @@ class ApiControllerTest < Test::Unit::TestCase
-10.upto(-1) do |i| -10.upto(-1) do |i|
get :trackpoints, :page => i, :bbox => "-0.1,-0.1,0.1,0.1" get :trackpoints, :page => i, :bbox => "-0.1,-0.1,0.1,0.1"
assert_response :bad_request assert_response :bad_request
assert_equal "Page number must be greater than or equal to 0", @response.body assert_equal "Page number must be greater than or equal to 0", @response.body, "The page number was #{i}"
end end
0.upto(10) do |i| 0.upto(10) do |i|
get :trackpoints, :page => i, :bbox => "-0.1,-0.1,0.1,0.1" get :trackpoints, :page => i, :bbox => "-0.1,-0.1,0.1,0.1"
assert_response :success assert_response :success, "The page number was #{i} and should have been accepted"
end end
end end
@ -79,7 +79,7 @@ class ApiControllerTest < Test::Unit::TestCase
[ "trackpoints", "map" ].each do |tq| [ "trackpoints", "map" ].each do |tq|
get tq, :bbox => bbox get tq, :bbox => bbox
assert_response :bad_request, "The bbox:#{bbox} was expected to be too big" assert_response :bad_request, "The bbox:#{bbox} was expected to be too big"
assert_equal "The maximum bbox size is #{APP_CONFIG['max_request_area']}, and your request was too large. Either request a smaller area, or use planet.osm", @response.body assert_equal "The maximum bbox size is #{APP_CONFIG['max_request_area']}, and your request was too large. Either request a smaller area, or use planet.osm", @response.body, "bbox: #{bbox}"
end end
end end
end end
@ -89,7 +89,7 @@ class ApiControllerTest < Test::Unit::TestCase
[ "trackpoints", "map" ].each do |tq| [ "trackpoints", "map" ].each do |tq|
get tq, :bbox => bbox get tq, :bbox => bbox
assert_response :bad_request, "The bbox:#{bbox} was expected to be malformed" assert_response :bad_request, "The bbox:#{bbox} was expected to be malformed"
assert_equal "The parameter bbox is required, and must be of the form min_lon,min_lat,max_lon,max_lat", @response.body assert_equal "The parameter bbox is required, and must be of the form min_lon,min_lat,max_lon,max_lat", @response.body, "bbox: #{bbox}"
end end
end end
end end
@ -99,7 +99,7 @@ class ApiControllerTest < Test::Unit::TestCase
[ "trackpoints", "map" ].each do |tq| [ "trackpoints", "map" ].each do |tq|
get tq, :bbox => bbox get tq, :bbox => bbox
assert_response :bad_request, "The bbox:#{bbox} was expected to have the longitude mixed up" assert_response :bad_request, "The bbox:#{bbox} was expected to have the longitude mixed up"
assert_equal "The minimum longitude must be less than the maximum longitude, but it wasn't", @response.body assert_equal "The minimum longitude must be less than the maximum longitude, but it wasn't", @response.body, "bbox: #{bbox}"
end end
end end
end end
@ -109,7 +109,7 @@ class ApiControllerTest < Test::Unit::TestCase
["trackpoints", "map"].each do |tq| ["trackpoints", "map"].each do |tq|
get tq, :bbox => bbox get tq, :bbox => bbox
assert_response :bad_request, "The bbox:#{bbox} was expected to have the latitude mixed up" assert_response :bad_request, "The bbox:#{bbox} was expected to have the latitude mixed up"
assert_equal "The minimum latitude must be less than the maximum latitude, but it wasn't", @response.body assert_equal "The minimum latitude must be less than the maximum latitude, but it wasn't", @response.body, "bbox: #{bbox}"
end end
end end
end end
@ -119,8 +119,8 @@ class ApiControllerTest < Test::Unit::TestCase
[ "trackpoints", "map" ].each do |tq| [ "trackpoints", "map" ].each do |tq|
get tq, :bbox => bbox get tq, :bbox => bbox
#print @request.to_yaml #print @request.to_yaml
assert_response :bad_request, "The bbox was expected to be out of range" assert_response :bad_request, "The bbox #{bbox} was expected to be out of range"
assert_equal "The latitudes must be between -90 an 90, and longitudes between -180 and 180", @response.body assert_equal "The latitudes must be between -90 an 90, and longitudes between -180 and 180", @response.body, "bbox: #{bbox}"
end end
end end
end end