X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/b89486eab0445fe7888969ce6ac8441ee998171c..21855aa355ed66bea0ae21acb3d675aeaccc963b:/test/functional/amf_controller_test.rb diff --git a/test/functional/amf_controller_test.rb b/test/functional/amf_controller_test.rb index 1ed8ebf48..46ff71eb7 100644 --- a/test/functional/amf_controller_test.rb +++ b/test/functional/amf_controller_test.rb @@ -5,6 +5,19 @@ include Potlatch class AmfControllerTest < ActionController::TestCase api_fixtures + ## + # test all routes which lead to this controller + def test_routes + assert_routing( + { :path => "/api/0.6/amf/read", :method => :post }, + { :controller => "amf", :action => "amf_read" } + ) + assert_routing( + { :path => "/api/0.6/amf/write", :method => :post }, + { :controller => "amf", :action => "amf_write" } + ) + end + def test_getway # check a visible way id = current_ways(:visible_way).id @@ -208,16 +221,16 @@ class AmfControllerTest < ActionController::TestCase # instead of a version number... # try to get version 1 v1 = ways(:way_with_versions_v1) - { latest => '', - v1 => v1.timestamp.strftime("%d %b %Y, %H:%M:%S") - }.each do |way, t| - amf_content "getway_old", "/1", [way.id, t] + { latest.id => '', + v1.way_id => v1.timestamp.strftime("%d %b %Y, %H:%M:%S") + }.each do |id, t| + amf_content "getway_old", "/1", [id, t] post :amf_read assert_response :success amf_parse_response returned_way = amf_result("/1") assert_equal 0, returned_way[0] - assert_equal way.id, returned_way[2] + assert_equal id, returned_way[2] # API returns the *latest* version, even for old ways... assert_equal latest.version, returned_way[5] end @@ -251,11 +264,11 @@ class AmfControllerTest < ActionController::TestCase v1 = ways(:way_with_versions_v1) # try to get last visible version of non-existent way # try to get specific version of non-existent way - [[nil, ''], - [nil, '1 Jan 1970, 00:00:00'], - [v1, (v1.timestamp - 10).strftime("%d %b %Y, %H:%M:%S")] - ].each do |way, t| - amf_content "getway_old", "/1", [way.nil? ? 0 : way.id, t] + [[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| + amf_content "getway_old", "/1", [id, t] post :amf_read assert_response :success amf_parse_response @@ -398,7 +411,7 @@ class AmfControllerTest < ActionController::TestCase # Finally check that the node that was saved has saved the data correctly # in both the current and history tables # First check the current table - current_node = Node.find(result[3]) + current_node = Node.find(result[3].to_i) assert_in_delta lat, current_node.lat, 0.00001, "The latitude was not retreieved correctly" assert_in_delta lon, current_node.lon, 0.00001, "The longitude was not retreived correctly" assert_equal 0, current_node.tags.size, "There seems to be a tag that has been added to the node" @@ -437,7 +450,7 @@ class AmfControllerTest < ActionController::TestCase # Finally check that the node that was saved has saved the data correctly # in both the current and history tables # First check the current table - current_node = Node.find(result[3]) + current_node = Node.find(result[3].to_i) assert_in_delta lat, current_node.lat, 0.00001, "The latitude was not retreieved correctly" assert_in_delta lon, current_node.lon, 0.00001, "The longitude was not retreived correctly" assert_equal 2, current_node.tags.size, "There seems to be a tag that has been added to the node" @@ -483,7 +496,7 @@ class AmfControllerTest < ActionController::TestCase # Finally check that the node that was saved has saved the data correctly # in both the current and history tables # First check the current table - current_node = Node.find(result[3]) + current_node = Node.find(result[3].to_i) assert_equal 1, current_node.tags.size, "There seems to be a tag that has been added to the node" assert_equal({ "something" => "foo\t\n\rbar" }, current_node.tags, "tags were not fixed correctly") assert_equal result[4], current_node.version, "The version returned, is different to the one returned by the amf" @@ -541,7 +554,7 @@ class AmfControllerTest < ActionController::TestCase assert_equal 3, result.size, result.inspect assert_equal 0, result[0] - new_cs_id = result[2] + new_cs_id = result[2].to_i cs = Changeset.find(new_cs_id) assert_equal "foobar", cs.tags["comment"]