X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/d227589a6336999c38bffc5e11655100b9a4630a..20a861392e1ee7970da5d95b546aa8551faaf27b:/test/functional/changeset_controller_test.rb
diff --git a/test/functional/changeset_controller_test.rb b/test/functional/changeset_controller_test.rb
index b02f556c9..a840dd233 100644
--- a/test/functional/changeset_controller_test.rb
+++ b/test/functional/changeset_controller_test.rb
@@ -419,57 +419,6 @@ EOF
end
end
- def test_upload_large_changeset
- basic_authorization users(:public_user).email, "test"
-
- # create a changeset
- content ""
- put :create
- assert_response :success, "Should be able to create a changeset: #{@response.body}"
- changeset_id = @response.body.to_i
-
- # upload some widely-spaced nodes, spiralling positive and negative to cause
- # largest bbox over-expansion possible.
- diff = <
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-EOF
-
- # upload it, which used to cause an error like "PGError: ERROR:
- # integer out of range" (bug #2152). but shouldn't any more.
- content diff
- post :upload, :id => changeset_id
- assert_response :success,
- "can't upload a spatially-large diff to changeset: #{@response.body}"
-
- # check that the changeset bbox is within bounds
- cs = Changeset.find(changeset_id)
- assert cs.min_lon >= -180 * SCALE, "Minimum longitude (#{cs.min_lon / SCALE}) should be >= -180 to be valid."
- assert cs.max_lon <= 180 * SCALE, "Maximum longitude (#{cs.max_lon / SCALE}) should be <= 180 to be valid."
- assert cs.min_lat >= -90 * SCALE, "Minimum latitude (#{cs.min_lat / SCALE}) should be >= -90 to be valid."
- assert cs.max_lat >= 90 * SCALE, "Maximum latitude (#{cs.max_lat / SCALE}) should be <= 90 to be valid."
- end
-
##
# test that deleting stuff in a transaction doesn't bypass the checks
# to ensure that used elements are not deleted.
@@ -1337,16 +1286,32 @@ EOF
assert_response :success, "can't get changesets in bbox"
assert_changesets [1]
+ # not found when looking for changesets of non-existing users
+ get :query, :user => User.maximum(:id) + 1
+ assert_response :not_found
+ get :query, :display_name => " "
+ assert_response :not_found
+
# can't get changesets of user 1 without authenticating
get :query, :user => users(:normal_user).id
- assert_response :not_found, "shouldn't be able to get changesets by non-public user"
+ assert_response :not_found, "shouldn't be able to get changesets by non-public user (ID)"
+ get :query, :display_name => users(:normal_user).display_name
+ assert_response :not_found, "shouldn't be able to get changesets by non-public user (name)"
# but this should work
basic_authorization "test@openstreetmap.org", "test"
get :query, :user => users(:normal_user).id
- assert_response :success, "can't get changesets by user"
+ assert_response :success, "can't get changesets by user ID"
assert_changesets [1,3,6]
+ get :query, :display_name => users(:normal_user).display_name
+ assert_response :success, "can't get changesets by user name"
+ assert_changesets [1,3,6]
+
+ # check that the correct error is given when we provide both UID and name
+ get :query, :user => users(:normal_user).id, :display_name => users(:normal_user).display_name
+ assert_response :bad_request, "should be a bad request to have both ID and name specified"
+
get :query, :user => users(:normal_user).id, :open => true
assert_response :success, "can't get changesets by user and open"
assert_changesets [1]