X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/b3f4637a42ef56cf96cec6a907f691d480e66211..f20a85a5c5c68f4b87a3f4d9faa1de0ba780ce3b:/test/functional/changeset_controller_test.rb diff --git a/test/functional/changeset_controller_test.rb b/test/functional/changeset_controller_test.rb index befa8192a..38f301524 100644 --- a/test/functional/changeset_controller_test.rb +++ b/test/functional/changeset_controller_test.rb @@ -1024,6 +1024,32 @@ EOF end end + ## + # test that the X-Error-Format header works to request XML errors + def test_upload_xml_errors + basic_authorization users(:public_user).email, "test" + + # try and delete a node that is in use + diff = XML::Document.new + diff.root = XML::Node.new "osmChange" + delete = XML::Node.new "delete" + diff.root << delete + delete << current_nodes(:node_used_by_relationship).to_xml_node + + # upload it + content diff + error_format "xml" + post :upload, :id => 2 + assert_response :success, + "failed to return error in XML format" + + # check the returned payload + assert_select "osmError[version=#{API_VERSION}][generator=\"OpenStreetMap server\"]", 1 + assert_select "osmError>status", 1 + assert_select "osmError>message", 1 + + end + ## # when we make some simple changes we get the same changes back from the # diff download.