]> git.openstreetmap.org Git - rails.git/blobdiff - test/controllers/api/amf_controller_test.rb
Refactor the AMF controller API tests
[rails.git] / test / controllers / api / amf_controller_test.rb
index 241efa9376b6657faae75a0e938d8280db5de4b6..5b0d36f7eb2aec7d82cc57805e8a9b4dafd9b6fd 100644 (file)
@@ -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
 
@@ -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
 
@@ -277,7 +277,7 @@ module Api
 
     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,7 +287,7 @@ 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")
@@ -297,7 +297,7 @@ module Api
 
     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")
@@ -309,7 +309,7 @@ module Api
 
     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")
@@ -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,7 +420,7 @@ 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")
@@ -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")
@@ -458,7 +458,7 @@ 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")
@@ -470,7 +470,7 @@ module Api
     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 +481,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 +495,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 +514,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 +527,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 +539,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 +556,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 +573,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 +585,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 +599,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 +618,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 +632,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 +642,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 +661,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 +676,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 +701,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 +737,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 +783,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 +818,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 +834,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")
@@ -856,7 +856,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 +873,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 +890,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 +912,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 +933,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 +954,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")
@@ -1003,7 +1003,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 +1030,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 +1050,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")
@@ -1106,7 +1106,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")
@@ -1135,7 +1135,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")
@@ -1163,7 +1163,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")
@@ -1191,7 +1191,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")
@@ -1218,7 +1218,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")
@@ -1245,7 +1245,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")
@@ -1265,7 +1265,7 @@ module Api
     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")
@@ -1281,7 +1281,7 @@ module Api
 
       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")
@@ -1303,7 +1303,7 @@ module Api
 
       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")
@@ -1323,7 +1323,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")
@@ -1337,7 +1337,7 @@ module Api
       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")
@@ -1358,7 +1358,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")
@@ -1398,7 +1398,7 @@ module Api
       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 +1437,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