X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/be0e33862fedbf02e52a9e126cac31dfb5775b43..aad1c1b93398a85559d3987350fa16f9dc0acea0:/test/controllers/api/amf_controller_test.rb?ds=sidebyside diff --git a/test/controllers/api/amf_controller_test.rb b/test/controllers/api/amf_controller_test.rb index 2240504bd..47cced6ff 100644 --- a/test/controllers/api/amf_controller_test.rb +++ b/test/controllers/api/amf_controller_test.rb @@ -1,7 +1,7 @@ require "test_helper" module Api - class AmfControllerTest < ActionController::TestCase + class AmfControllerTest < ActionDispatch::IntegrationTest include Potlatch ## @@ -21,7 +21,7 @@ module Api user_en_de = create(:user, :languages => %w[en de]) user_de = create(:user, :languages => %w[de]) [user_en_de, user_de].each do |user| - post :amf_read, :body => amf_content("getpresets", "/1", ["#{user.email}:test", ""]) + post amf_read_path, amf_content("getpresets", "/1", ["#{user.email}:test", ""]) assert_response :success amf_parse_response presets = amf_result("/1") @@ -49,7 +49,7 @@ module Api node = way.nodes.first user = way.changeset.user - post :amf_read, :body => amf_content("getway", "/1", [way.id]) + post amf_read_path, amf_content("getway", "/1", [way.id]) assert_response :success amf_parse_response result = amf_result("/1") @@ -66,7 +66,7 @@ module Api # check an invisible way id = create(:way, :deleted).id - post :amf_read, :body => amf_content("getway", "/1", [id]) + post amf_read_path, amf_content("getway", "/1", [id]) assert_response :success amf_parse_response result = amf_result("/1") @@ -83,7 +83,7 @@ module Api node = way.nodes.first user = way.changeset.user - post :amf_read, :body => amf_content("getway", "/1", [way.id]) + post amf_read_path, amf_content("getway", "/1", [way.id]) assert_response :success amf_parse_response result = amf_result("/1") @@ -104,7 +104,7 @@ module Api create(:way_node, :way => way, :node => node, :sequence_id => 2) user = way.changeset.user - post :amf_read, :body => amf_content("getway", "/1", [way.id]) + post amf_read_path, amf_content("getway", "/1", [way.id]) assert_response :success amf_parse_response result = amf_result("/1") @@ -126,7 +126,7 @@ module Api c = way.nodes[2].id user = way.changeset.user - post :amf_read, :body => amf_content("getway", "/1", [way.id]) + post amf_read_path, amf_content("getway", "/1", [way.id]) assert_response :success amf_parse_response result = amf_result("/1") @@ -143,7 +143,7 @@ module Api def test_getway_nonexistent # check chat a non-existent way is not returned - post :amf_read, :body => amf_content("getway", "/1", [0]) + post amf_read_path, amf_content("getway", "/1", [0]) assert_response :success amf_parse_response way = amf_result("/1") @@ -165,7 +165,7 @@ module Api minlat = node.lat - 0.1 maxlon = node.lon + 0.1 maxlat = node.lat + 0.1 - post :amf_read, :body => amf_content("whichways", "/1", [minlon, minlat, maxlon, maxlat]) + post amf_read_path, amf_content("whichways", "/1", [minlon, minlat, maxlon, maxlat]) assert_response :success amf_parse_response @@ -181,32 +181,32 @@ module Api assert_equal Array, map[4].class, 'map "relations" element should be an array' map[2].each do |w| assert_equal 2, w.length, "way should be (id, version) pair" - assert w[0] == w[0].floor, "way ID should be an integer" - assert w[1] == w[1].floor, "way version should be an integer" + assert_equal w[0], w[0].floor, "way ID should be an integer" + assert_equal w[1], w[1].floor, "way version should be an integer" end map[3].each do |n| assert_equal 5, w.length, "node should be (id, lat, lon, [tags], version) tuple" - assert n[0] == n[0].floor, "node ID should be an integer" + assert_equal n[0], n[0].floor, "node ID should be an integer" assert n[1] >= minlat - 0.01, "node lat should be greater than min" assert n[1] <= maxlat - 0.01, "node lat should be less than max" assert n[2] >= minlon - 0.01, "node lon should be greater than min" assert n[2] <= maxlon - 0.01, "node lon should be less than max" assert_equal Array, a[3].class, "node tags should be array" - assert n[4] == n[4].floor, "node version should be an integer" + assert_equal n[4], n[4].floor, "node version should be an integer" end map[4].each do |r| assert_equal 2, r.length, "relation should be (id, version) pair" - assert r[0] == r[0].floor, "relation ID should be an integer" - assert r[1] == r[1].floor, "relation version should be an integer" + assert_equal r[0], r[0].floor, "relation ID should be an integer" + assert_equal r[1], r[1].floor, "relation version should be an integer" end # TODO: looks like amf_controller changed since this test was written # so someone who knows what they're doing should check this! ways = map[2].collect { |x| x[0] } - assert ways.include?(way.id), - "map should include used way" + assert_includes ways, way.id, + "map should include used way" assert_not ways.include?(deleted_way.id), "map should not include deleted way" end @@ -258,7 +258,7 @@ module Api minlat = node.lat - 0.1 maxlon = node.lon + 0.1 maxlat = node.lat + 0.1 - post :amf_read, :body => amf_content("whichways_deleted", "/1", [minlon, minlat, maxlon, maxlat]) + post amf_read_path, amf_content("whichways_deleted", "/1", [minlon, minlat, maxlon, maxlat]) assert_response :success amf_parse_response @@ -271,13 +271,13 @@ module Api # so someone who knows what they're doing should check this! assert_not map[2].include?(way.id), "map should not include visible way" - assert map[2].include?(deleted_way.id), - "map should include deleted way" + assert_includes map[2], deleted_way.id, + "map should include deleted way" end def test_whichways_deleted_toobig bbox = [-0.1, -0.1, 1.1, 1.1] - post :amf_read, :body => amf_content("whichways_deleted", "/1", bbox) + post amf_read_path, amf_content("whichways_deleted", "/1", bbox) assert_response :success amf_parse_response @@ -287,34 +287,34 @@ module Api def test_getrelation id = create(:relation).id - post :amf_read, :body => amf_content("getrelation", "/1", [id]) + post amf_read_path, amf_content("getrelation", "/1", [id]) assert_response :success amf_parse_response rel = amf_result("/1") - assert_equal rel[0], 0 + assert_equal(0, rel[0]) assert_equal rel[2], id end def test_getrelation_invisible id = create(:relation, :deleted).id - post :amf_read, :body => amf_content("getrelation", "/1", [id]) + post amf_read_path, amf_content("getrelation", "/1", [id]) assert_response :success amf_parse_response rel = amf_result("/1") - assert_equal rel[0], -4 - assert_equal rel[1], "relation" + assert_equal(-4, rel[0]) + assert_equal("relation", rel[1]) assert_equal rel[2], id assert(rel[3].nil?) && rel[4].nil? end def test_getrelation_nonexistent id = 0 - post :amf_read, :body => amf_content("getrelation", "/1", [id]) + post amf_read_path, amf_content("getrelation", "/1", [id]) assert_response :success amf_parse_response rel = amf_result("/1") - assert_equal rel[0], -4 - assert_equal rel[1], "relation" + assert_equal(-4, rel[0]) + assert_equal("relation", rel[1]) assert_equal rel[2], id assert(rel[3].nil?) && rel[4].nil? end @@ -330,7 +330,7 @@ module Api # try to get version 1 { latest.id => "", v1.way_id => (v1.timestamp + 1).strftime("%d %b %Y, %H:%M:%S") }.each do |id, t| - post :amf_read, :body => amf_content("getway_old", "/1", [id, t]) + post amf_read_path, amf_content("getway_old", "/1", [id, t]) assert_response :success amf_parse_response returned_way = amf_result("/1") @@ -351,7 +351,7 @@ module Api way_id => "2009-03-25 00:00:00", # <- wrong format way_id => "0 Jan 2009 00:00:00", # <- invalid date -1 => "1 Jan 2009 00:00:00" }.each do |id, t| # <- invalid - post :amf_read, :body => amf_content("getway_old", "/1", [id, t]) + post amf_read_path, amf_content("getway_old", "/1", [id, t]) assert_response :success amf_parse_response returned_way = amf_result("/1") @@ -371,7 +371,7 @@ module Api [[0, ""], [0, "1 Jan 1970, 00:00:00"], [v1.way_id, (v1.timestamp - 10).strftime("%d %b %Y, %H:%M:%S")]].each do |id, t| - post :amf_read, :body => amf_content("getway_old", "/1", [id, t]) + post amf_read_path, amf_content("getway_old", "/1", [id, t]) assert_response :success amf_parse_response returned_way = amf_result("/1") @@ -387,7 +387,7 @@ module Api v1 = way.old_ways.find_by(:version => 1) # try to get deleted version [[v1.way_id, (v1.timestamp + 10).strftime("%d %b %Y, %H:%M:%S")]].each do |id, t| - post :amf_read, :body => amf_content("getway_old", "/1", [id, t]) + post amf_read_path, amf_content("getway_old", "/1", [id, t]) assert_response :success amf_parse_response returned_way = amf_result("/1") @@ -403,7 +403,7 @@ module Api oldest = create(:old_way, :current_way => latest, :version => 1, :timestamp => latest.timestamp - 2.minutes) create(:old_way, :current_way => latest, :version => 2, :timestamp => latest.timestamp) - post :amf_read, :body => amf_content("getway_history", "/1", [latest.id]) + post amf_read_path, amf_content("getway_history", "/1", [latest.id]) assert_response :success amf_parse_response history = amf_result("/1") @@ -420,15 +420,15 @@ module Api end def test_getway_history_nonexistent - post :amf_read, :body => amf_content("getway_history", "/1", [0]) + post amf_read_path, amf_content("getway_history", "/1", [0]) assert_response :success amf_parse_response history = amf_result("/1") # ['way',wayid,history] - assert_equal history[0], "way" - assert_equal history[1], 0 - assert history[2].empty? + assert_equal("way", history[0]) + assert_equal(0, history[1]) + assert_empty history[2] end def test_getnode_history @@ -437,7 +437,7 @@ module Api _node_v2 = create(:old_node, :current_node => node, :version => 2, :timestamp => 2.days.ago) node_v3 = create(:old_node, :current_node => node, :version => 3, :timestamp => 1.day.ago) - post :amf_read, :body => amf_content("getnode_history", "/1", [node.id]) + post amf_read_path, amf_content("getnode_history", "/1", [node.id]) assert_response :success amf_parse_response history = amf_result("/1") @@ -445,8 +445,7 @@ module Api # ['node',nodeid,history] # note that (as per getway_history) we actually round up # to the next second - assert_equal history[0], "node", - 'first element should be "node"' + assert_equal("node", history[0], 'first element should be "node"') assert_equal history[1], node.id, "second element should be the input node ID" assert_equal history[2].first[0], @@ -458,19 +457,19 @@ module Api end def test_getnode_history_nonexistent - post :amf_read, :body => amf_content("getnode_history", "/1", [0]) + post amf_read_path, amf_content("getnode_history", "/1", [0]) assert_response :success amf_parse_response history = amf_result("/1") # ['node',nodeid,history] - assert_equal history[0], "node" - assert_equal history[1], 0 - assert history[2].empty? + assert_equal("node", history[0]) + assert_equal(0, history[1]) + assert_empty history[2] end def test_findgpx_bad_user - post :amf_read, :body => amf_content("findgpx", "/1", [1, "test@example.com:wrong"]) + post amf_read_path, amf_content("findgpx", "/1", [1, "test@example.com:wrong"]) assert_response :success amf_parse_response result = amf_result("/1") @@ -481,7 +480,7 @@ module Api blocked_user = create(:user) create(:user_block, :user => blocked_user) - post :amf_read, :body => amf_content("findgpx", "/1", [1, "#{blocked_user.email}:test"]) + post amf_read_path, amf_content("findgpx", "/1", [1, "#{blocked_user.email}:test"]) assert_response :success amf_parse_response result = amf_result("/1") @@ -495,7 +494,7 @@ module Api user = create(:user) trace = create(:trace, :visibility => "private", :user => user) - post :amf_read, :body => amf_content("findgpx", "/1", [trace.id, "#{user.email}:test"]) + post amf_read_path, amf_content("findgpx", "/1", [trace.id, "#{user.email}:test"]) assert_response :success amf_parse_response result = amf_result("/1") @@ -514,7 +513,7 @@ module Api def test_findgpx_by_name user = create(:user) - post :amf_read, :body => amf_content("findgpx", "/1", ["Trace", "#{user.email}:test"]) + post amf_read_path, amf_content("findgpx", "/1", ["Trace", "#{user.email}:test"]) assert_response :success amf_parse_response result = amf_result("/1") @@ -527,7 +526,7 @@ module Api def test_findrelations_by_id relation = create(:relation, :version => 4) - post :amf_read, :body => amf_content("findrelations", "/1", [relation.id]) + post amf_read_path, amf_content("findrelations", "/1", [relation.id]) assert_response :success amf_parse_response result = amf_result("/1") @@ -539,7 +538,7 @@ module Api assert_equal relation.members, result[0][2] assert_equal relation.version, result[0][3] - post :amf_read, :body => amf_content("findrelations", "/1", [999999]) + post amf_read_path, amf_content("findrelations", "/1", [999999]) assert_response :success amf_parse_response result = amf_result("/1") @@ -556,7 +555,7 @@ module Api create(:relation_tag, :relation => used_relation, :k => "test", :v => "yes") create(:relation_tag, :relation => used_relation, :k => "name", :v => "Test Relation") - post :amf_read, :body => amf_content("findrelations", "/1", ["yes"]) + post amf_read_path, amf_content("findrelations", "/1", ["yes"]) assert_response :success amf_parse_response result = amf_result("/1").sort @@ -573,7 +572,7 @@ module Api assert_equal used_relation.members, result[1][2] assert_equal used_relation.version, result[1][3] - post :amf_read, :body => amf_content("findrelations", "/1", ["no"]) + post amf_read_path, amf_content("findrelations", "/1", ["no"]) assert_response :success amf_parse_response result = amf_result("/1").sort @@ -585,7 +584,7 @@ module Api node = create(:node, :with_history, :version => 4) create(:node_tag, :node => node) - post :amf_read, :body => amf_content("getpoi", "/1", [node.id, ""]) + post amf_read_path, amf_content("getpoi", "/1", [node.id, ""]) assert_response :success amf_parse_response result = amf_result("/1") @@ -599,7 +598,7 @@ module Api assert_equal node.tags, result[5] assert_equal node.version, result[6] - post :amf_read, :body => amf_content("getpoi", "/1", [999999, ""]) + post amf_read_path, amf_content("getpoi", "/1", [999999, ""]) assert_response :success amf_parse_response result = amf_result("/1") @@ -618,7 +617,7 @@ module Api # previous whole second, causing <= comparison to fail timestamp = (node.timestamp + 1.second).xmlschema - post :amf_read, :body => amf_content("getpoi", "/1", [node.node_id, timestamp]) + post amf_read_path, amf_content("getpoi", "/1", [node.node_id, timestamp]) assert_response :success amf_parse_response result = amf_result("/1") @@ -632,7 +631,7 @@ module Api assert_equal node.tags, result[5] assert_equal current_node.version, result[6] - post :amf_read, :body => amf_content("getpoi", "/1", [node.node_id, "2000-01-01T00:00:00Z"]) + post amf_read_path, amf_content("getpoi", "/1", [node.node_id, "2000-01-01T00:00:00Z"]) assert_response :success amf_parse_response result = amf_result("/1") @@ -642,7 +641,7 @@ module Api assert_equal "node", result[1] assert_equal node.node_id, result[2] - post :amf_read, :body => amf_content("getpoi", "/1", [999999, Time.now.xmlschema]) + post amf_read_path, amf_content("getpoi", "/1", [999999, Time.now.xmlschema]) assert_response :success amf_parse_response result = amf_result("/1") @@ -661,7 +660,7 @@ module Api nd = create(:node) cs_id = nd.changeset.id user = nd.changeset.user - post :amf_write, :body => amf_content("putpoi", "/1", ["#{user.email}:test", cs_id, nd.version, nd.id, nd.lon, nd.lat, nd.tags, nd.visible]) + post amf_write_path, amf_content("putpoi", "/1", ["#{user.email}:test", cs_id, nd.version, nd.id, nd.lon, nd.lat, nd.tags, nd.visible]) assert_response :success amf_parse_response result = amf_result("/1") @@ -676,7 +675,7 @@ module Api # Now try to update again, with a different lat/lon, using the updated version number lat = nd.lat + 0.1 lon = nd.lon - 0.1 - post :amf_write, :body => amf_content("putpoi", "/2", ["#{user.email}:test", cs_id, nd.version + 1, nd.id, lon, lat, nd.tags, nd.visible]) + post amf_write_path, amf_content("putpoi", "/2", ["#{user.email}:test", cs_id, nd.version + 1, nd.id, lon, lat, nd.tags, nd.visible]) assert_response :success amf_parse_response result = amf_result("/2") @@ -701,7 +700,7 @@ module Api changeset = create(:changeset) user = changeset.user - post :amf_write, :body => amf_content("putpoi", "/1", ["#{user.email}:test", changeset.id, nil, nil, lon, lat, {}, nil]) + post amf_write_path, amf_content("putpoi", "/1", ["#{user.email}:test", changeset.id, nil, nil, lon, lat, {}, nil]) assert_response :success amf_parse_response result = amf_result("/1") @@ -737,7 +736,7 @@ module Api lat = rand(-50..49) + rand lon = rand(-50..49) + rand - post :amf_write, :body => amf_content("putpoi", "/2", ["#{user.email}:test", changeset.id, nil, nil, lon, lat, { "key" => "value", "ping" => "pong" }, nil]) + post amf_write_path, amf_content("putpoi", "/2", ["#{user.email}:test", changeset.id, nil, nil, lon, lat, { "key" => "value", "ping" => "pong" }, nil]) assert_response :success amf_parse_response result = amf_result("/2") @@ -783,7 +782,7 @@ module Api mostly_invalid = (0..31).to_a.map(&:chr).join tags = { "something" => "foo#{mostly_invalid}bar" } - post :amf_write, :body => amf_content("putpoi", "/1", ["#{user.email}:test", changeset.id, nil, nil, lon, lat, tags, nil]) + post amf_write_path, amf_content("putpoi", "/1", ["#{user.email}:test", changeset.id, nil, nil, lon, lat, tags, nil]) assert_response :success amf_parse_response result = amf_result("/1") @@ -818,7 +817,7 @@ module Api invalid = "\xc0\xc0" tags = { "something" => "foo#{invalid}bar" } - post :amf_write, :body => amf_content("putpoi", "/1", ["#{user.email}:test", changeset.id, nil, nil, lon, lat, tags, nil]) + post amf_write_path, amf_content("putpoi", "/1", ["#{user.email}:test", changeset.id, nil, nil, lon, lat, tags, nil]) assert_response :success amf_parse_response result = amf_result("/1") @@ -834,7 +833,7 @@ module Api cs_id = nd.changeset.id user = nd.changeset.user - post :amf_write, :body => amf_content("putpoi", "/1", ["#{user.email}:test", cs_id, nd.version, nd.id, nd.lon, nd.lat, nd.tags, false]) + post amf_write_path, amf_content("putpoi", "/1", ["#{user.email}:test", cs_id, nd.version, nd.id, nd.lon, nd.lat, nd.tags, false]) assert_response :success amf_parse_response result = amf_result("/1") @@ -847,7 +846,7 @@ module Api assert_equal nd.version + 1, result[4] current_node = Node.find(result[3].to_i) - assert_equal false, current_node.visible + assert_not current_node.visible end # try deleting a node that is already deleted @@ -856,7 +855,7 @@ module Api cs_id = nd.changeset.id user = nd.changeset.user - post :amf_write, :body => amf_content("putpoi", "/1", ["#{user.email}:test", cs_id, nd.version, nd.id, nd.lon, nd.lat, nd.tags, false]) + post amf_write_path, amf_content("putpoi", "/1", ["#{user.email}:test", cs_id, nd.version, nd.id, nd.lon, nd.lat, nd.tags, false]) assert_response :success amf_parse_response result = amf_result("/1") @@ -873,7 +872,7 @@ module Api cs_id = changeset.id user = changeset.user - post :amf_write, :body => amf_content("putpoi", "/1", ["#{user.email}:test", cs_id, 1, 999999, 0, 0, {}, false]) + post amf_write_path, amf_content("putpoi", "/1", ["#{user.email}:test", cs_id, 1, 999999, 0, 0, {}, false]) assert_response :success amf_parse_response result = amf_result("/1") @@ -890,7 +889,7 @@ module Api cs_id = nd.changeset.id user = nd.changeset.user - post :amf_write, :body => amf_content("putpoi", "/1", ["#{user.email}:test", cs_id, nd.version, nd.id, 200, 100, nd.tags, true]) + post amf_write_path, amf_content("putpoi", "/1", ["#{user.email}:test", cs_id, nd.version, nd.id, 200, 100, nd.tags, true]) assert_response :success amf_parse_response result = amf_result("/1") @@ -912,7 +911,7 @@ module Api d = create(:node).id e = create(:node).id - post :amf_write, :body => amf_content("putway", "/1", ["#{user.email}:test", cs_id, 0, -1, [a, b, c], { "test" => "new" }, [], {}]) + post amf_write_path, amf_content("putway", "/1", ["#{user.email}:test", cs_id, 0, -1, [a, b, c], { "test" => "new" }, [], {}]) assert_response :success amf_parse_response result = amf_result("/1") @@ -933,7 +932,7 @@ module Api assert_equal [a, b, c], new_way.nds assert_equal({ "test" => "new" }, new_way.tags) - post :amf_write, :body => amf_content("putway", "/1", ["#{user.email}:test", cs_id, 0, -1, [b, d, e, a], { "test" => "newer" }, [], {}]) + post amf_write_path, amf_content("putway", "/1", ["#{user.email}:test", cs_id, 0, -1, [b, d, e, a], { "test" => "newer" }, [], {}]) assert_response :success amf_parse_response result = amf_result("/1") @@ -954,7 +953,7 @@ module Api assert_equal [b, d, e, a], new_way.nds assert_equal({ "test" => "newer" }, new_way.tags) - post :amf_write, :body => amf_content("putway", "/1", ["#{user.email}:test", cs_id, 0, -1, [b, -1, d, e], { "test" => "newest" }, [[4.56, 12.34, -1, 0, { "test" => "new" }], [12.34, 4.56, d, 1, { "test" => "ok" }]], { a => 1 }]) + post amf_write_path, amf_content("putway", "/1", ["#{user.email}:test", cs_id, 0, -1, [b, -1, d, e], { "test" => "newest" }, [[4.56, 12.34, -1, 0, { "test" => "new" }], [12.34, 4.56, d, 1, { "test" => "ok" }]], { a => 1 }]) assert_response :success amf_parse_response result = amf_result("/1") @@ -978,22 +977,22 @@ module Api new_node = Node.find(new_node_id) assert_equal 1, new_node.version - assert_equal true, new_node.visible - assert_equal 4.56, new_node.lon - assert_equal 12.34, new_node.lat + assert new_node.visible + assert_in_delta(4.56, new_node.lon) + assert_in_delta(12.34, new_node.lat) assert_equal({ "test" => "new" }, new_node.tags) changed_node = Node.find(d) assert_equal 2, changed_node.version - assert_equal true, changed_node.visible - assert_equal 12.34, changed_node.lon - assert_equal 4.56, changed_node.lat + assert changed_node.visible + assert_in_delta(12.34, changed_node.lon) + assert_in_delta(4.56, changed_node.lat) assert_equal({ "test" => "ok" }, changed_node.tags) # node is not deleted because our other ways are using it deleted_node = Node.find(a) assert_equal 1, deleted_node.version - assert_equal true, deleted_node.visible + assert deleted_node.visible end # check that we can update a way @@ -1003,7 +1002,7 @@ module Api user = way.changeset.user assert_not_equal({ "test" => "ok" }, way.tags) - post :amf_write, :body => amf_content("putway", "/1", ["#{user.email}:test", cs_id, way.version, way.id, way.nds, { "test" => "ok" }, [], {}]) + post amf_write_path, amf_content("putway", "/1", ["#{user.email}:test", cs_id, way.version, way.id, way.nds, { "test" => "ok" }, [], {}]) assert_response :success amf_parse_response result = amf_result("/1") @@ -1030,7 +1029,7 @@ module Api d = create(:node).id assert_not_equal [a, b, c, d], way.nds - post :amf_write, :body => amf_content("putway", "/1", ["#{user.email}:test", cs_id, way.version + 1, way.id, [a, b, c, d], way.tags, [], {}]) + post amf_write_path, amf_content("putway", "/1", ["#{user.email}:test", cs_id, way.version + 1, way.id, [a, b, c, d], way.tags, [], {}]) assert_response :success amf_parse_response result = amf_result("/1") @@ -1050,7 +1049,7 @@ module Api assert_equal [a, b, c, d], new_way.nds assert_equal way.tags, new_way.tags - post :amf_write, :body => amf_content("putway", "/1", ["#{user.email}:test", cs_id, way.version + 2, way.id, [a, -1, b, c], way.tags, [[4.56, 12.34, -1, 0, { "test" => "new" }], [12.34, 4.56, b, 1, { "test" => "ok" }]], { d => 1 }]) + post amf_write_path, amf_content("putway", "/1", ["#{user.email}:test", cs_id, way.version + 2, way.id, [a, -1, b, c], way.tags, [[4.56, 12.34, -1, 0, { "test" => "new" }], [12.34, 4.56, b, 1, { "test" => "ok" }]], { d => 1 }]) assert_response :success amf_parse_response result = amf_result("/1") @@ -1073,21 +1072,21 @@ module Api new_node = Node.find(new_node_id) assert_equal 1, new_node.version - assert_equal true, new_node.visible - assert_equal 4.56, new_node.lon - assert_equal 12.34, new_node.lat + assert new_node.visible + assert_in_delta(4.56, new_node.lon) + assert_in_delta(12.34, new_node.lat) assert_equal({ "test" => "new" }, new_node.tags) changed_node = Node.find(b) assert_equal 2, changed_node.version - assert_equal true, changed_node.visible - assert_equal 12.34, changed_node.lon - assert_equal 4.56, changed_node.lat + assert changed_node.visible + assert_in_delta(12.34, changed_node.lon) + assert_in_delta(4.56, changed_node.lat) assert_equal({ "test" => "ok" }, changed_node.tags) deleted_node = Node.find(d) assert_equal 2, deleted_node.version - assert_equal false, deleted_node.visible + assert_not deleted_node.visible end # check that we can delete a way @@ -1106,7 +1105,7 @@ module Api create(:way_node, :node => b) c = way.nodes[2] - post :amf_write, :body => amf_content("deleteway", "/1", ["#{user.email}:test", cs_id, way.id, way.version, nodes]) + post amf_write_path, amf_content("deleteway", "/1", ["#{user.email}:test", cs_id, way.id, way.version, nodes]) assert_response :success amf_parse_response result = amf_result("/1") @@ -1120,7 +1119,7 @@ module Api new_way = Way.find(way.id) assert_equal way.version + 1, new_way.version - assert_equal false, new_way.visible + assert_not new_way.visible way.nds.each do |node_id| assert_equal result[4][node_id.to_s].nil?, Node.find(node_id).visible @@ -1135,7 +1134,7 @@ module Api cs_id = way.changeset.id user = way.changeset.user - post :amf_write, :body => amf_content("deleteway", "/1", ["#{user.email}:test", cs_id, way.id, way.version, nodes]) + post amf_write_path, amf_content("deleteway", "/1", ["#{user.email}:test", cs_id, way.id, way.version, nodes]) assert_response :success amf_parse_response result = amf_result("/1") @@ -1146,10 +1145,10 @@ module Api new_way = Way.find(way.id) assert_equal way.version, new_way.version - assert_equal true, new_way.visible + assert new_way.visible way.nds.each do |node_id| - assert_equal true, Node.find(node_id).visible + assert Node.find(node_id).visible end end @@ -1163,7 +1162,7 @@ module Api way = create(:way_with_nodes, :nodes_count => 2) relation = create(:relation) - post :amf_write, :body => amf_content("putrelation", "/1", ["#{user.email}:test", cs_id, 0, -1, { "test" => "new" }, [["Node", node.id, "node"], ["Way", way.id, "way"], ["Relation", relation.id, "relation"]], true]) + post amf_write_path, amf_content("putrelation", "/1", ["#{user.email}:test", cs_id, 0, -1, { "test" => "new" }, [["Node", node.id, "node"], ["Way", way.id, "way"], ["Relation", relation.id, "relation"]], true]) assert_response :success amf_parse_response result = amf_result("/1") @@ -1180,7 +1179,7 @@ module Api assert_equal 1, new_relation.version assert_equal [["Node", node.id, "node"], ["Way", way.id, "way"], ["Relation", relation.id, "relation"]], new_relation.members assert_equal({ "test" => "new" }, new_relation.tags) - assert_equal true, new_relation.visible + assert new_relation.visible end # check that we can update a relation @@ -1191,7 +1190,7 @@ module Api cs_id = relation.changeset.id assert_not_equal({ "test" => "ok" }, relation.tags) - post :amf_write, :body => amf_content("putrelation", "/1", ["#{user.email}:test", cs_id, relation.version, relation.id, { "test" => "ok" }, relation.members, true]) + post amf_write_path, amf_content("putrelation", "/1", ["#{user.email}:test", cs_id, relation.version, relation.id, { "test" => "ok" }, relation.members, true]) assert_response :success amf_parse_response result = amf_result("/1") @@ -1207,7 +1206,7 @@ module Api assert_equal relation.version + 1, new_relation.version assert_equal relation.members, new_relation.members assert_equal({ "test" => "ok" }, new_relation.tags) - assert_equal true, new_relation.visible + assert new_relation.visible end # check that we can delete a relation @@ -1218,7 +1217,7 @@ module Api cs_id = relation.changeset.id user = relation.changeset.user - post :amf_write, :body => amf_content("putrelation", "/1", ["#{user.email}:test", cs_id, relation.version, relation.id, relation.tags, relation.members, false]) + post amf_write_path, amf_content("putrelation", "/1", ["#{user.email}:test", cs_id, relation.version, relation.id, relation.tags, relation.members, false]) assert_response :success amf_parse_response result = amf_result("/1") @@ -1234,7 +1233,7 @@ module Api assert_equal relation.version + 1, new_relation.version assert_equal [], new_relation.members assert_equal({}, new_relation.tags) - assert_equal false, new_relation.visible + assert_not new_relation.visible end # check that we can't delete a relation that is in use @@ -1245,7 +1244,7 @@ module Api cs_id = relation.changeset.id user = relation.changeset.user - post :amf_write, :body => amf_content("putrelation", "/1", ["#{user.email}:test", cs_id, relation.version, relation.id, relation.tags, relation.members, false]) + post amf_write_path, amf_content("putrelation", "/1", ["#{user.email}:test", cs_id, relation.version, relation.id, relation.tags, relation.members, false]) assert_response :success amf_parse_response result = amf_result("/1") @@ -1258,14 +1257,14 @@ module Api assert_equal relation.version, new_relation.version assert_equal relation.members, new_relation.members assert_equal relation.tags, new_relation.tags - assert_equal true, new_relation.visible + assert new_relation.visible end # check that we can open a changeset def test_startchangeset_valid user = create(:user) - post :amf_write, :body => amf_content("startchangeset", "/1", ["#{user.email}:test", { "source" => "new" }, nil, "new", 1]) + post amf_write_path, amf_content("startchangeset", "/1", ["#{user.email}:test", { "source" => "new" }, nil, "new", 1]) assert_response :success amf_parse_response result = amf_result("/1") @@ -1276,12 +1275,12 @@ module Api assert_equal "", result[1] cs = Changeset.find(new_cs_id) - assert_equal true, cs.is_open? + assert cs.is_open? assert_equal({ "comment" => "new", "source" => "new" }, cs.tags) old_cs_id = new_cs_id - post :amf_write, :body => amf_content("startchangeset", "/1", ["#{user.email}:test", { "source" => "newer" }, old_cs_id, "newer", 1]) + post amf_write_path, amf_content("startchangeset", "/1", ["#{user.email}:test", { "source" => "newer" }, old_cs_id, "newer", 1]) assert_response :success amf_parse_response result = amf_result("/1") @@ -1294,16 +1293,16 @@ module Api assert_equal "", result[1] cs = Changeset.find(old_cs_id) - assert_equal false, cs.is_open? + assert_not cs.is_open? assert_equal({ "comment" => "newer", "source" => "new" }, cs.tags) cs = Changeset.find(new_cs_id) - assert_equal true, cs.is_open? + assert cs.is_open? assert_equal({ "comment" => "newer", "source" => "newer" }, cs.tags) old_cs_id = new_cs_id - post :amf_write, :body => amf_content("startchangeset", "/1", ["#{user.email}:test", {}, old_cs_id, "", 0]) + post amf_write_path, amf_content("startchangeset", "/1", ["#{user.email}:test", {}, old_cs_id, "", 0]) assert_response :success amf_parse_response result = amf_result("/1") @@ -1314,7 +1313,7 @@ module Api assert_nil result[2] cs = Changeset.find(old_cs_id) - assert_equal false, cs.is_open? + assert_not cs.is_open? assert_equal({ "comment" => "newer", "source" => "newer" }, cs.tags) end @@ -1323,7 +1322,7 @@ module Api user = create(:user) user2 = create(:user) - post :amf_write, :body => amf_content("startchangeset", "/1", ["#{user.email}:test", { "source" => "new" }, nil, "new", 1]) + post amf_write_path, amf_content("startchangeset", "/1", ["#{user.email}:test", { "source" => "new" }, nil, "new", 1]) assert_response :success amf_parse_response result = amf_result("/1") @@ -1334,10 +1333,10 @@ module Api assert_equal "", result[1] cs = Changeset.find(cs_id) - assert_equal true, cs.is_open? + assert cs.is_open? assert_equal({ "comment" => "new", "source" => "new" }, cs.tags) - post :amf_write, :body => amf_content("startchangeset", "/1", ["#{user2.email}:test", {}, cs_id, "delete", 0]) + post amf_write_path, amf_content("startchangeset", "/1", ["#{user2.email}:test", {}, cs_id, "delete", 0]) assert_response :success amf_parse_response result = amf_result("/1") @@ -1347,7 +1346,7 @@ module Api assert_equal "The user doesn't own that changeset", result[1] cs = Changeset.find(cs_id) - assert_equal true, cs.is_open? + assert cs.is_open? assert_equal({ "comment" => "new", "source" => "new" }, cs.tags) end @@ -1358,7 +1357,7 @@ module Api invalid = "\035\022" comment = "foo#{invalid}bar" - post :amf_write, :body => amf_content("startchangeset", "/1", ["#{user.email}:test", {}, nil, comment, 1]) + post amf_write_path, amf_content("startchangeset", "/1", ["#{user.email}:test", {}, nil, comment, 1]) assert_response :success amf_parse_response result = amf_result("/1") @@ -1369,7 +1368,7 @@ module Api assert_equal "", result[1] cs = Changeset.find(new_cs_id) - assert_equal true, cs.is_open? + assert cs.is_open? assert_equal({ "comment" => "foobar" }, cs.tags) end @@ -1390,15 +1389,15 @@ module Api def amf_content(target, ref, data) a, b = 1.divmod(256) c = StringIO.new - c.write 0.chr + 0.chr # version 0 - c.write 0.chr + 0.chr # n headers + c.write 0.chr * 2 # version 0 + c.write 0.chr * 2 # n headers c.write a.chr + b.chr # n bodies c.write AMF.encodestring(target) c.write AMF.encodestring(ref) c.write [-1].pack("N") c.write AMF.encodevalue(data) - c.string + { :params => c.string, :headers => { "Content-Type" => "application/x-amf" } } end # Parses the @response object as an AMF messsage. @@ -1437,7 +1436,7 @@ module Api # caller's block for assertion testing. def check_bboxes_are_bad(bboxes) bboxes.each do |bbox| - post :amf_read, :body => amf_content("whichways", "/1", bbox) + post amf_read_path, amf_content("whichways", "/1", bbox) assert_response :success amf_parse_response