From 4794da0eea31e4e3158c9c61f0b04eb0e5439d1f Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Mon, 7 Jul 2025 06:32:31 +0300 Subject: [PATCH] Inline single-use with_update_* methods --- .../api/relations_controller_test.rb | 52 ++++++------------- 1 file changed, 16 insertions(+), 36 deletions(-) diff --git a/test/controllers/api/relations_controller_test.rb b/test/controllers/api/relations_controller_test.rb index 60b6877d6..7e3884954 100644 --- a/test/controllers/api/relations_controller_test.rb +++ b/test/controllers/api/relations_controller_test.rb @@ -396,9 +396,11 @@ module Api tag = rel.find("//osm/relation/tag").first tag["v"] = "some changed value" update_changeset(rel, changeset.id) + put api_relation_path(rel_id), :params => rel.to_s, :headers => auth_header + assert_response :success, "can't update relation: #{@response.body}" + new_version = @response.body.to_i # check that the downloaded tags are the same as the uploaded tags... - new_version = do_update(rel, rel_id, auth_header) get api_relation_path(rel_id) assert_tags_equal_response rel @@ -433,9 +435,21 @@ module Api tag = rel.find("//osm/relation/tag").first tag["v"] = "some changed value" update_changeset(rel, changeset.id) + new_version = nil + with_controller(Api::ChangesetsController.new) do + doc = OSM::API.new.xml_doc + change = XML::Node.new "osmChange" + doc.root = change + modify = XML::Node.new "modify" + change << modify + modify << doc.import(rel.find("//osm/relation").first) + + post api_changeset_upload_path(changeset), :params => doc.to_s, :headers => auth_header + assert_response :success, "can't upload diff relation: #{@response.body}" + new_version = xml_parse(@response.body).find("//diffResult/relation").first["new_version"].to_i + end # check that the downloaded tags are the same as the uploaded tags... - new_version = do_update_diff(rel, auth_header) get api_relation_path(rel_id) assert_tags_equal_response rel @@ -1085,40 +1099,6 @@ module Api end end - ## - # updates the relation (XML) +rel+ and - # returns the new version of that relation. - def do_update(rel, rel_id, headers) - put api_relation_path(rel_id), :params => rel.to_s, :headers => headers - assert_response :success, "can't update relation: #{@response.body}" - version = @response.body.to_i - - version - end - - ## - # updates the relation (XML) +rel+ via the diff-upload API and - # returns the new version of that relation. - def do_update_diff(rel, headers) - cs_id = rel.find("//osm/relation").first["changeset"].to_i - version = nil - - with_controller(Api::ChangesetsController.new) do - doc = OSM::API.new.xml_doc - change = XML::Node.new "osmChange" - doc.root = change - modify = XML::Node.new "modify" - change << modify - modify << doc.import(rel.find("//osm/relation").first) - - post api_changeset_upload_path(cs_id), :params => doc.to_s, :headers => headers - assert_response :success, "can't upload diff relation: #{@response.body}" - version = xml_parse(@response.body).find("//diffResult/relation").first["new_version"].to_i - end - - version - end - ## # returns a k->v hash of tags from an xml doc def get_tags_as_hash(a) -- 2.39.5