X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/ea59d95f4aad7cafe3a0d0b4d5ef533b0662e365..68845eb7253cd3da14253e004fc1a4fc7eac2e5e:/test/controllers/api/relations_controller_test.rb
diff --git a/test/controllers/api/relations_controller_test.rb b/test/controllers/api/relations_controller_test.rb
index 559f19bd6..cdef1f5ba 100644
--- a/test/controllers/api/relations_controller_test.rb
+++ b/test/controllers/api/relations_controller_test.rb
@@ -102,7 +102,7 @@ module Api
second_relation = create(:relation_member, :member => node).relation
_super_relation = create(:relation_member, :member => second_relation).relation
# should combine multiple relation_member references into just one relation entry
- create(:relation_member, :member => node, :relation => relation_with_node, :sequence_id => 2)
+ create(:relation_member, :member => node, :relation => relation_with_node)
# should not include deleted relations
deleted_relation = create(:relation, :deleted)
create(:relation_member, :member => node, :relation => deleted_relation)
@@ -122,7 +122,7 @@ module Api
second_relation = create(:relation_member, :member => way).relation
_super_relation = create(:relation_member, :member => second_relation).relation
# should combine multiple relation_member references into just one relation entry
- create(:relation_member, :member => way, :relation => relation_with_way, :sequence_id => 2)
+ create(:relation_member, :member => way, :relation => relation_with_way)
# should not include deleted relations
deleted_relation = create(:relation, :deleted)
create(:relation_member, :member => way, :relation => deleted_relation)
@@ -142,7 +142,7 @@ module Api
second_relation = create(:relation_member, :member => relation).relation
_super_relation = create(:relation_member, :member => second_relation).relation
# should combine multiple relation_member references into just one relation entry
- create(:relation_member, :member => relation, :relation => relation_with_relation, :sequence_id => 2)
+ create(:relation_member, :member => relation, :relation => relation_with_relation)
# should not include deleted relations
deleted_relation = create(:relation, :deleted)
create(:relation_member, :member => relation, :relation => deleted_relation)
@@ -151,25 +151,6 @@ module Api
[relation_with_relation, second_relation])
end
- def check_relations_for_element(path, type, id, expected_relations)
- # check the "relations for relation" mode
- get path
- assert_response :success
-
- # count one osm element
- assert_select "osm[version='#{Settings.api_version}'][generator='OpenStreetMap server']", 1
-
- # we should have only the expected number of relations
- assert_select "osm>relation", expected_relations.size
-
- # and each of them should contain the element we originally searched for
- expected_relations.each do |relation|
- # The relation should appear once, but the element could appear multiple times
- assert_select "osm>relation[id='#{relation.id}']", 1
- assert_select "osm>relation[id='#{relation.id}']>member[type='#{type}'][ref='#{id}']"
- end
- end
-
def test_full
# check the "full" mode
get relation_full_path(:id => 999999)
@@ -264,7 +245,7 @@ module Api
# create an relation with a node as member, this time test that we don't
# need a role attribute to be included
xml = "" \
- "" + ""
+ ""
put relation_create_path, :params => xml, :headers => auth_header
# hope for forbidden due to user
assert_response :forbidden,
@@ -341,7 +322,7 @@ module Api
# create an relation with a node as member, this time test that we don't
# need a role attribute to be included
xml = "" \
- "" + ""
+ ""
put relation_create_path, :params => xml, :headers => auth_header
# hope for success
assert_response :success,
@@ -631,8 +612,7 @@ module Api
# valid delete should return the new version number, which should
# be greater than the old version number
- assert @response.body.to_i > multi_tag_relation.version,
- "delete request should return a new version number for relation"
+ assert_operator @response.body.to_i, :>, multi_tag_relation.version, "delete request should return a new version number for relation"
# this won't work since the relation is already deleted
xml = update_changeset(xml_for_relation(deleted_relation), changeset.id)
@@ -926,9 +906,26 @@ module Api
end
end
- # ============================================================
- # utility functions
- # ============================================================
+ private
+
+ def check_relations_for_element(path, type, id, expected_relations)
+ # check the "relations for relation" mode
+ get path
+ assert_response :success
+
+ # count one osm element
+ assert_select "osm[version='#{Settings.api_version}'][generator='#{Settings.generator}']", 1
+
+ # we should have only the expected number of relations
+ assert_select "osm>relation", expected_relations.size
+
+ # and each of them should contain the element we originally searched for
+ expected_relations.each do |relation|
+ # The relation should appear once, but the element could appear multiple times
+ assert_select "osm>relation[id='#{relation.id}']", 1
+ assert_select "osm>relation[id='#{relation.id}']>member[type='#{type}'][ref='#{id}']"
+ end
+ end
##
# checks that the XML document and the string arguments have
@@ -1011,7 +1008,7 @@ module Api
##
# updates the relation (XML) +rel+ and
# yields the new version of that relation into the block.
- # the parsed XML doc is retured.
+ # the parsed XML doc is returned.
def with_update(rel, headers)
rel_id = rel.find("//osm/relation").first["id"].to_i
put api_relation_path(:id => rel_id), :params => rel.to_s, :headers => headers
@@ -1031,14 +1028,14 @@ module Api
##
# updates the relation (XML) +rel+ via the diff-upload API and
# yields the new version of that relation into the block.
- # the parsed XML doc is retured.
+ # the parsed XML doc is returned.
def with_update_diff(rel, headers)
rel_id = rel.find("//osm/relation").first["id"].to_i
cs_id = rel.find("//osm/relation").first["changeset"].to_i
version = nil
with_controller(Api::ChangesetsController.new) do
- doc = OSM::API.new.get_xml_doc
+ doc = OSM::API.new.xml_doc
change = XML::Node.new "osmChange"
doc.root = change
modify = XML::Node.new "modify"