X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/e84dd63b166a310c1c451ef2738d9d299e451acf..d0b845fc6025f2fb84a4cf4fa10cbb71084843a7:/test/functional/changeset_controller_test.rb diff --git a/test/functional/changeset_controller_test.rb b/test/functional/changeset_controller_test.rb index bc1fdb835..d60fe2fbc 100644 --- a/test/functional/changeset_controller_test.rb +++ b/test/functional/changeset_controller_test.rb @@ -82,7 +82,7 @@ class ChangesetControllerTest < ActionController::TestCase post :create assert_response :method_not_allowed end - + ## # check that the changeset can be read and returns the correct # document structure. @@ -128,7 +128,7 @@ class ChangesetControllerTest < ActionController::TestCase # test that it really is closed now cs = Changeset.find(cs_id) assert(!cs.is_open?, - "changeset should be closed now (#{cs.closed_at} > #{Time.now}.") + "changeset should be closed now (#{cs.closed_at} > #{Time.now.getutc}.") end ## @@ -446,6 +446,31 @@ EOF assert_equal true, Relation.find(current_relations(:visible_relation).id).visible end + ## + # upload an element with a really long tag value + def test_upload_invalid_too_long_tag + basic_authorization users(:public_user).email, "test" + cs_id = changesets(:public_user_first_change).id + + # simple diff to create a node way and relation using placeholders + diff = < + + + + + + +EOF + + # upload it + content diff + post :upload, :id => cs_id + assert_response :bad_request, + "shoudln't be able to upload too long a tag to changeset: #{@response.body}" + + end + ## # upload something which creates new objects and inserts them into # existing containers using placeholders. @@ -645,7 +670,7 @@ EOF content diff post :upload, :id => cs_id assert_response :bad_request, "Shouldn't be able to upload a diff with the action ping" - assert_equal @response.body, "Unknown action ping, choices are create, modify, delete." + assert_equal @response.body, "Unknown action ping, choices are create, modify, delete" end ## @@ -1122,6 +1147,21 @@ EOF assert_select "osmChange>modify>way", 1 end + def test_changeset_download + get :download, :id => changesets(:normal_user_first_change).id + assert_response :success + assert_template nil + #print @response.body + # FIXME needs more assert_select tests + assert_select "osmChange[version='#{API_VERSION}'][generator='#{GENERATOR}']" do + assert_select "create", :count => 5 + assert_select "create>node[id=#{nodes(:used_node_2).id}][visible=#{nodes(:used_node_2).visible?}][version=#{nodes(:used_node_2).version}]" do + assert_select "tag[k=#{node_tags(:t3).k}][v=#{node_tags(:t3).v}]" + end + assert_select "create>node[id=#{nodes(:visible_node).id}]" + end + end + ## # check that the bounding box of a changeset gets updated correctly ## FIXME: This should really be moded to a integration test due to the with_controller @@ -1270,7 +1310,7 @@ EOF get :query, :time => '2007-12-31T23:59Z,2008-01-01T00:01Z' assert_response :success, "can't get changesets by time-range" - assert_changesets [1,4,5,6] + assert_changesets [1,5,6] get :query, :open => 'true' assert_response :success, "can't get changesets by open-ness"