]> git.openstreetmap.org Git - rails.git/blobdiff - test/controllers/amf_controller_test.rb
use a controller method to handle cancan denials
[rails.git] / test / controllers / amf_controller_test.rb
index 8b95b9ac7dd687d6cce96af0b938763170aea371..bd7a518843ef8237fa6140773e199e2fa0f92818 100644 (file)
@@ -1,9 +1,8 @@
 require "test_helper"
 require "stringio"
-include Potlatch
 
 class AmfControllerTest < ActionController::TestCase
-  api_fixtures
+  include Potlatch
 
   ##
   # test all routes which lead to this controller
@@ -19,8 +18,8 @@ class AmfControllerTest < ActionController::TestCase
   end
 
   def test_getpresets
-    user_en_de = create(:user, :languages => %w(en de))
-    user_de = create(:user, :languages => %w(de))
+    user_en_de = create(:user, :languages => %w[en de])
+    user_de = create(:user, :languages => %w[de])
     [user_en_de, user_de].each do |user|
       amf_content "getpresets", "/1", ["#{user.email}:test", ""]
       post :amf_read
@@ -537,7 +536,9 @@ class AmfControllerTest < ActionController::TestCase
   end
 
   def test_findgpx_by_name
-    amf_content "findgpx", "/1", ["Trace", "test@example.com:test"]
+    user = create(:user)
+
+    amf_content "findgpx", "/1", ["Trace", "#{user.email}:test"]
     post :amf_read
     assert_response :success
     amf_parse_response
@@ -730,8 +731,8 @@ class AmfControllerTest < ActionController::TestCase
     # This node has no tags
 
     # create a node with random lat/lon
-    lat = rand(100) - 50 + rand
-    lon = rand(100) - 50 + rand
+    lat = rand(-50..49) + rand
+    lon = rand(-50..49) + rand
 
     changeset = create(:changeset)
     user = changeset.user
@@ -770,8 +771,8 @@ class AmfControllerTest < ActionController::TestCase
     # This node has some tags
 
     # create a node with random lat/lon
-    lat = rand(100) - 50 + rand
-    lon = rand(100) - 50 + rand
+    lat = rand(-50..49) + rand
+    lon = rand(-50..49) + rand
 
     amf_content "putpoi", "/2", ["#{user.email}:test", changeset.id, nil, nil, lon, lat, { "key" => "value", "ping" => "pong" }, nil]
     post :amf_write
@@ -811,8 +812,8 @@ class AmfControllerTest < ActionController::TestCase
     # This node has no tags
 
     # create a node with random lat/lon
-    lat = rand(100) - 50 + rand
-    lon = rand(100) - 50 + rand
+    lat = rand(-50..49) + rand
+    lon = rand(-50..49) + rand
 
     changeset = create(:changeset)
     user = changeset.user
@@ -847,8 +848,8 @@ class AmfControllerTest < ActionController::TestCase
     # This node has no tags
 
     # create a node with random lat/lon
-    lat = rand(100) - 50 + rand
-    lon = rand(100) - 50 + rand
+    lat = rand(-50..49) + rand
+    lon = rand(-50..49) + rand
 
     changeset = create(:changeset)
     user = changeset.user
@@ -1318,7 +1319,9 @@ class AmfControllerTest < ActionController::TestCase
 
   # check that we can open a changeset
   def test_startchangeset_valid
-    amf_content "startchangeset", "/1", ["test@example.com:test", { "source" => "new" }, nil, "new", 1]
+    user = create(:user)
+
+    amf_content "startchangeset", "/1", ["#{user.email}:test", { "source" => "new" }, nil, "new", 1]
     post :amf_write
     assert_response :success
     amf_parse_response
@@ -1335,7 +1338,7 @@ class AmfControllerTest < ActionController::TestCase
 
     old_cs_id = new_cs_id
 
-    amf_content "startchangeset", "/1", ["test@example.com:test", { "source" => "newer" }, old_cs_id, "newer", 1]
+    amf_content "startchangeset", "/1", ["#{user.email}:test", { "source" => "newer" }, old_cs_id, "newer", 1]
     post :amf_write
     assert_response :success
     amf_parse_response
@@ -1358,7 +1361,7 @@ class AmfControllerTest < ActionController::TestCase
 
     old_cs_id = new_cs_id
 
-    amf_content "startchangeset", "/1", ["test@example.com:test", {}, old_cs_id, "", 0]
+    amf_content "startchangeset", "/1", ["#{user.email}:test", {}, old_cs_id, "", 0]
     post :amf_write
     assert_response :success
     amf_parse_response
@@ -1376,7 +1379,10 @@ class AmfControllerTest < ActionController::TestCase
 
   # check that we can't close somebody elses changeset
   def test_startchangeset_invalid_wrong_user
-    amf_content "startchangeset", "/1", ["test@example.com:test", { "source" => "new" }, nil, "new", 1]
+    user = create(:user)
+    user2 = create(:user)
+
+    amf_content "startchangeset", "/1", ["#{user.email}:test", { "source" => "new" }, nil, "new", 1]
     post :amf_write
     assert_response :success
     amf_parse_response
@@ -1391,7 +1397,7 @@ class AmfControllerTest < ActionController::TestCase
     assert_equal true, cs.is_open?
     assert_equal({ "comment" => "new", "source" => "new" }, cs.tags)
 
-    amf_content "startchangeset", "/1", ["test@openstreetmap.org:test", {}, cs_id, "delete", 0]
+    amf_content "startchangeset", "/1", ["#{user2.email}:test", {}, cs_id, "delete", 0]
     post :amf_write
     assert_response :success
     amf_parse_response
@@ -1408,10 +1414,12 @@ class AmfControllerTest < ActionController::TestCase
 
   # check that invalid characters are stripped from changeset tags
   def test_startchangeset_invalid_xmlchar_comment
+    user = create(:user)
+
     invalid = "\035\022"
     comment = "foo#{invalid}bar"
 
-    amf_content "startchangeset", "/1", ["test@example.com:test", {}, nil, comment, 1]
+    amf_content "startchangeset", "/1", ["#{user.email}:test", {}, nil, comment, 1]
     post :amf_write
     assert_response :success
     amf_parse_response