X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/5254f79c080b398ffe2f2400dea250c6decf5e3b..495bd7f1f077e5cae4428fab8a780f0f479893d0:/test/functional/changeset_controller_test.rb diff --git a/test/functional/changeset_controller_test.rb b/test/functional/changeset_controller_test.rb index d5fc08116..8ccdec889 100644 --- a/test/functional/changeset_controller_test.rb +++ b/test/functional/changeset_controller_test.rb @@ -592,8 +592,8 @@ EOF end ## - # check searching for changesets by bbox - def test_changeset_by_bbox + # test the query functionality of changesets + def test_query get :query, :bbox => "-10,-10, 10, 10" assert_response :success, "can't get changesets in bbox" assert_changesets [1,4] @@ -629,6 +629,38 @@ EOF assert_changesets [4,5] end + ## + # check that errors are returned if garbage is inserted + # into query strings + def test_query_invalid + [ "abracadabra!", + "1,2,3,F", + ";drop table users;" + ].each do |bbox| + get :query, :bbox => bbox + assert_response :bad_request, "'#{bbox}' isn't a bbox" + end + + [ "now()", + "00-00-00", + ";drop table users;", + ",", + "-,-" + ].each do |time| + get :query, :time => time + assert_response :bad_request, "'#{time}' isn't a valid time range" + end + + [ "me", + "foobar", + "-1", + "0" + ].each do |uid| + get :query, :user => uid + assert_response :bad_request, "'#{uid}' isn't a valid user ID" + end + end + ## # check updating tags on a changeset def test_changeset_update