]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'upstream/pull/2598'
authorTom Hughes <tom@compton.nu>
Wed, 22 Apr 2020 15:43:14 +0000 (16:43 +0100)
committerTom Hughes <tom@compton.nu>
Wed, 22 Apr 2020 15:43:14 +0000 (16:43 +0100)
app/models/trace.rb
config/initializers/tempfile.rb [deleted file]
test/controllers/changeset_comments_controller_test.rb
test/controllers/changesets_controller_test.rb
test/controllers/directions_controller_test.rb
test/controllers/errors_controller_test.rb

index 959d82e1c790b720173d7596d4cdca4ea80d0e48..49e4a041b8512bc1519d0dd0870e70ea681c4177 100644 (file)
@@ -215,25 +215,23 @@ class Trace < ApplicationRecord
     tarred = filetype =~ /tar archive/
 
     if gzipped || bzipped || zipped || tarred
-      tmpfile = Tempfile.new("trace.#{id}")
+      file = Tempfile.new("trace.#{id}")
 
       if tarred && gzipped
-        system("tar -zxOf #{trace_name} > #{tmpfile.path}")
+        system("tar -zxOf #{trace_name} > #{file.path}")
       elsif tarred && bzipped
-        system("tar -jxOf #{trace_name} > #{tmpfile.path}")
+        system("tar -jxOf #{trace_name} > #{file.path}")
       elsif tarred
-        system("tar -xOf #{trace_name} > #{tmpfile.path}")
+        system("tar -xOf #{trace_name} > #{file.path}")
       elsif gzipped
-        system("gunzip -c #{trace_name} > #{tmpfile.path}")
+        system("gunzip -c #{trace_name} > #{file.path}")
       elsif bzipped
-        system("bunzip2 -c #{trace_name} > #{tmpfile.path}")
+        system("bunzip2 -c #{trace_name} > #{file.path}")
       elsif zipped
-        system("unzip -p #{trace_name} -x '__MACOSX/*' > #{tmpfile.path} 2> /dev/null")
+        system("unzip -p #{trace_name} -x '__MACOSX/*' > #{file.path} 2> /dev/null")
       end
 
-      tmpfile.unlink
-
-      file = tmpfile.file
+      file.unlink
     else
       file = File.open(trace_name)
     end
diff --git a/config/initializers/tempfile.rb b/config/initializers/tempfile.rb
deleted file mode 100644 (file)
index 43b5a54..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-# Hack TempFile to let us get at the underlying File object as ruby
-# does a half assed job of making TempFile act as a File
-class Tempfile
-  def file
-    @tmpfile
-  end
-end
index a1a00c5dc7d70f09314cbe2998668a9fc71d17c4..b18698744439afb561c9ebf76af028817099378e 100644 (file)
@@ -1,6 +1,6 @@
 require "test_helper"
 
-class ChangesetCommentsControllerTest < ActionController::TestCase
+class ChangesetCommentsControllerTest < ActionDispatch::IntegrationTest
   ##
   # test all routes which lead to this controller
   def test_routes
@@ -20,7 +20,7 @@ class ChangesetCommentsControllerTest < ActionController::TestCase
     changeset = create(:changeset, :closed)
     create_list(:changeset_comment, 3, :changeset => changeset)
 
-    get :index, :params => { :format => "rss" }
+    get changesets_comments_feed_path(:format => "rss")
     assert_response :success
     assert_equal "application/rss+xml", @response.media_type
     assert_select "rss", :count => 1 do
@@ -29,7 +29,7 @@ class ChangesetCommentsControllerTest < ActionController::TestCase
       end
     end
 
-    get :index, :params => { :format => "rss", :limit => 2 }
+    get changesets_comments_feed_path(:format => "rss", :limit => 2)
     assert_response :success
     assert_equal "application/rss+xml", @response.media_type
     assert_select "rss", :count => 1 do
@@ -38,7 +38,7 @@ class ChangesetCommentsControllerTest < ActionController::TestCase
       end
     end
 
-    get :index, :params => { :id => changeset.id, :format => "rss" }
+    get changeset_comments_feed_path(:id => changeset.id, :format => "rss")
     assert_response :success
     assert_equal "application/rss+xml", @response.media_type
     assert_select "rss", :count => 1 do
@@ -51,10 +51,10 @@ class ChangesetCommentsControllerTest < ActionController::TestCase
   ##
   # test comments feed
   def test_feed_bad_limit
-    get :index, :params => { :format => "rss", :limit => 0 }
+    get changesets_comments_feed_path(:format => "rss", :limit => 0)
     assert_response :bad_request
 
-    get :index, :params => { :format => "rss", :limit => 100001 }
+    get changesets_comments_feed_path(:format => "rss", :limit => 100001)
     assert_response :bad_request
   end
 end
index e754e32b71dac1ed67829c099b98596cf0f61c3f..d1fc5c65c5c2868af867235a2e1c97490db87283 100644 (file)
@@ -1,6 +1,6 @@
 require "test_helper"
 
-class ChangesetsControllerTest < ActionController::TestCase
+class ChangesetsControllerTest < ActionDispatch::IntegrationTest
   ##
   # test all routes which lead to this controller
   def test_routes
@@ -33,13 +33,13 @@ class ChangesetsControllerTest < ActionController::TestCase
   ##
   # This should display the last 20 changesets closed
   def test_index
-    get :index, :params => { :format => "html" }
+    get history_path(:format => "html")
     assert_response :success
     assert_template "history"
     assert_template :layout => "map"
     assert_select "h2", :text => "Changesets", :count => 1
 
-    get :index, :params => { :format => "html", :list => "1" }, :xhr => true
+    get history_path(:format => "html", :list => "1"), :xhr => true
     assert_response :success
     assert_template "index"
 
@@ -49,13 +49,13 @@ class ChangesetsControllerTest < ActionController::TestCase
   ##
   # This should display the last 20 changesets closed
   def test_index_xhr
-    get :index, :params => { :format => "html" }, :xhr => true
+    get history_path(:format => "html"), :xhr => true
     assert_response :success
     assert_template "history"
     assert_template :layout => "xhr"
     assert_select "h2", :text => "Changesets", :count => 1
 
-    get :index, :params => { :format => "html", :list => "1" }, :xhr => true
+    get history_path(:format => "html", :list => "1"), :xhr => true
     assert_response :success
     assert_template "index"
 
@@ -65,13 +65,13 @@ class ChangesetsControllerTest < ActionController::TestCase
   ##
   # This should display the last 20 changesets closed in a specific area
   def test_index_bbox
-    get :index, :params => { :format => "html", :bbox => "4.5,4.5,5.5,5.5" }
+    get history_path(:format => "html", :bbox => "4.5,4.5,5.5,5.5")
     assert_response :success
     assert_template "history"
     assert_template :layout => "map"
     assert_select "h2", :text => "Changesets", :count => 1
 
-    get :index, :params => { :format => "html", :bbox => "4.5,4.5,5.5,5.5", :list => "1" }, :xhr => true
+    get history_path(:format => "html", :bbox => "4.5,4.5,5.5,5.5", :list => "1"), :xhr => true
     assert_response :success
     assert_template "index"
 
@@ -85,11 +85,11 @@ class ChangesetsControllerTest < ActionController::TestCase
     create(:changeset, :user => user)
     create(:changeset, :closed, :user => user)
 
-    get :index, :params => { :format => "html", :display_name => user.display_name }
+    get history_path(:format => "html", :display_name => user.display_name)
     assert_response :success
     assert_template "history"
 
-    get :index, :params => { :format => "html", :display_name => user.display_name, :list => "1" }, :xhr => true
+    get history_path(:format => "html", :display_name => user.display_name, :list => "1"), :xhr => true
     assert_response :success
     assert_template "index"
 
@@ -103,11 +103,11 @@ class ChangesetsControllerTest < ActionController::TestCase
     create(:changeset, :user => private_user)
     create(:changeset, :closed, :user => private_user)
 
-    get :index, :params => { :format => "html", :display_name => private_user.display_name }
+    get history_path(:format => "html", :display_name => private_user.display_name)
     assert_response :success
     assert_template "history"
 
-    get :index, :params => { :format => "html", :display_name => private_user.display_name, :list => "1" }, :xhr => true
+    get history_path(:format => "html", :display_name => private_user.display_name, :list => "1"), :xhr => true
     assert_response :success
     assert_template "index"
 
@@ -117,11 +117,11 @@ class ChangesetsControllerTest < ActionController::TestCase
   ##
   # Check the not found of the index user changesets
   def test_index_user_not_found
-    get :index, :params => { :format => "html", :display_name => "Some random user" }
+    get history_path(:format => "html", :display_name => "Some random user")
     assert_response :not_found
     assert_template "users/no_such_user"
 
-    get :index, :params => { :format => "html", :display_name => "Some random user", :list => "1" }, :xhr => true
+    get history_path(:format => "html", :display_name => "Some random user", :list => "1"), :xhr => true
     assert_response :not_found
     assert_template "users/no_such_user"
   end
@@ -133,17 +133,17 @@ class ChangesetsControllerTest < ActionController::TestCase
     friendship = create(:friendship, :befriender => private_user)
     create(:changeset, :user => friendship.befriendee)
 
-    get :index, :params => { :friends => true }
+    get friend_changesets_path
     assert_response :redirect
     assert_redirected_to :controller => :users, :action => :login, :referer => friend_changesets_path
 
-    session[:user] = private_user.id
+    session_for(private_user)
 
-    get :index, :params => { :friends => true }
+    get friend_changesets_path
     assert_response :success
     assert_template "history"
 
-    get :index, :params => { :friends => true, :list => "1" }, :xhr => true
+    get friend_changesets_path(:list => "1"), :xhr => true
     assert_response :success
     assert_template "index"
 
@@ -157,17 +157,17 @@ class ChangesetsControllerTest < ActionController::TestCase
     user = create(:user, :home_lat => 51.0, :home_lon => 1.0)
     create(:changeset, :user => user)
 
-    get :index, :params => { :nearby => true }
+    get nearby_changesets_path
     assert_response :redirect
     assert_redirected_to :controller => :users, :action => :login, :referer => nearby_changesets_path
 
-    session[:user] = private_user.id
+    session_for(private_user)
 
-    get :index, :params => { :nearby => true }
+    get nearby_changesets_path
     assert_response :success
     assert_template "history"
 
-    get :index, :params => { :nearby => true, :list => "1" }, :xhr => true
+    get nearby_changesets_path(:list => "1"), :xhr => true
     assert_response :success
     assert_template "index"
 
@@ -177,13 +177,13 @@ class ChangesetsControllerTest < ActionController::TestCase
   ##
   # Check that we can't request later pages of the changesets index
   def test_index_max_id
-    get :index, :params => { :format => "html", :max_id => 4 }, :xhr => true
+    get history_path(:format => "html", :max_id => 4), :xhr => true
     assert_response :success
     assert_template "history"
     assert_template :layout => "xhr"
     assert_select "h2", :text => "Changesets", :count => 1
 
-    get :index, :params => { :format => "html", :list => "1", :max_id => 4 }, :xhr => true
+    get history_path(:format => "html", :list => "1", :max_id => 4), :xhr => true
     assert_response :success
     assert_template "index"
 
@@ -195,10 +195,10 @@ class ChangesetsControllerTest < ActionController::TestCase
   def test_index_more
     create_list(:changeset, 50)
 
-    get :index, :params => { :format => "html" }
+    get history_path(:format => "html")
     assert_response :success
 
-    get :index, :params => { :format => "html" }, :xhr => true
+    get history_path(:format => "html"), :xhr => true
     assert_response :success
   end
 
@@ -211,7 +211,7 @@ class ChangesetsControllerTest < ActionController::TestCase
     closed_changeset = create(:changeset, :closed, :num_changes => 1)
     _empty_changeset = create(:changeset, :num_changes => 0)
 
-    get :feed, :params => { :format => :atom }
+    get history_feed_path(:format => :atom)
     assert_response :success
     assert_template "index"
     assert_equal "application/atom+xml", response.media_type
@@ -229,7 +229,7 @@ class ChangesetsControllerTest < ActionController::TestCase
     _elsewhere_changeset = create(:changeset, :num_changes => 1, :min_lat => -5 * GeoRecord::SCALE, :min_lon => -5 * GeoRecord::SCALE, :max_lat => -5 * GeoRecord::SCALE, :max_lon => -5 * GeoRecord::SCALE)
     _empty_changeset = create(:changeset, :num_changes => 0, :min_lat => -5 * GeoRecord::SCALE, :min_lon => -5 * GeoRecord::SCALE, :max_lat => -5 * GeoRecord::SCALE, :max_lon => -5 * GeoRecord::SCALE)
 
-    get :feed, :params => { :format => :atom, :bbox => "4.5,4.5,5.5,5.5" }
+    get history_feed_path(:format => :atom, :bbox => "4.5,4.5,5.5,5.5")
     assert_response :success
     assert_template "index"
     assert_equal "application/atom+xml", response.media_type
@@ -246,7 +246,7 @@ class ChangesetsControllerTest < ActionController::TestCase
     create(:changeset_tag, :changeset => changesets[1], :k => "website", :v => "http://example.com/")
     _other_changeset = create(:changeset)
 
-    get :feed, :params => { :format => :atom, :display_name => user.display_name }
+    get history_feed_path(:format => :atom, :display_name => user.display_name)
 
     assert_response :success
     assert_template "index"
@@ -258,14 +258,14 @@ class ChangesetsControllerTest < ActionController::TestCase
   ##
   # Check the not found of the user changesets feed
   def test_feed_user_not_found
-    get :feed, :params => { :format => "atom", :display_name => "Some random user" }
+    get history_feed_path(:format => "atom", :display_name => "Some random user")
     assert_response :not_found
   end
 
   ##
   # Check that we can't request later pages of the changesets feed
   def test_feed_max_id
-    get :feed, :params => { :format => "atom", :max_id => 100 }
+    get history_feed_path(:format => "atom", :max_id => 100)
     assert_response :redirect
     assert_redirected_to :action => :feed
   end
index 1335ea469bb6549a7eeef80217445b4ad30dd351..31f57b9db334703231f4a0f2083da71409682467 100644 (file)
@@ -1,6 +1,6 @@
 require "test_helper"
 
-class DirectionsControllerTest < ActionController::TestCase
+class DirectionsControllerTest < ActionDispatch::IntegrationTest
   ##
   # test all routes which lead to this controller
   def test_routes
@@ -13,7 +13,7 @@ class DirectionsControllerTest < ActionController::TestCase
   ###
   # test the search action
   def test_search
-    get :search
+    get directions_path
     assert_response :success
   end
 end
index 01b07efc89a998eaf5ddd2cf69e2e8fd75182d2f..9f8ccee56d66acc34b147625b643af81698df178 100644 (file)
@@ -1,6 +1,6 @@
 require "test_helper"
 
-class ErrorsControllerTest < ActionController::TestCase
+class ErrorsControllerTest < ActionDispatch::IntegrationTest
   def test_routes
     assert_routing(
       { :path => "/403", :method => :get },
@@ -17,17 +17,17 @@ class ErrorsControllerTest < ActionController::TestCase
   end
 
   def test_forbidden
-    get :forbidden
+    get "/403"
     assert_response :forbidden
   end
 
   def test_not_found
-    get :not_found
+    get "/404"
     assert_response :not_found
   end
 
   def test_internal_server_error
-    get :internal_server_error
+    get "/500"
     assert_response :internal_server_error
   end
 end