From: Tom Hughes Date: Wed, 22 Apr 2020 15:43:14 +0000 (+0100) Subject: Merge remote-tracking branch 'upstream/pull/2598' X-Git-Tag: live~2752 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/cca1ce59f4e657314259b6699dd3c6ecd02d53cb?hp=8773ec6e57bfcd2e3c316ae5bdbb36fec2a3f104 Merge remote-tracking branch 'upstream/pull/2598' --- diff --git a/app/models/trace.rb b/app/models/trace.rb index 959d82e1c..49e4a041b 100644 --- a/app/models/trace.rb +++ b/app/models/trace.rb @@ -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 index 43b5a5443..000000000 --- a/config/initializers/tempfile.rb +++ /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 diff --git a/test/controllers/changeset_comments_controller_test.rb b/test/controllers/changeset_comments_controller_test.rb index a1a00c5dc..b18698744 100644 --- a/test/controllers/changeset_comments_controller_test.rb +++ b/test/controllers/changeset_comments_controller_test.rb @@ -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 diff --git a/test/controllers/changesets_controller_test.rb b/test/controllers/changesets_controller_test.rb index e754e32b7..d1fc5c65c 100644 --- a/test/controllers/changesets_controller_test.rb +++ b/test/controllers/changesets_controller_test.rb @@ -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 diff --git a/test/controllers/directions_controller_test.rb b/test/controllers/directions_controller_test.rb index 1335ea469..31f57b9db 100644 --- a/test/controllers/directions_controller_test.rb +++ b/test/controllers/directions_controller_test.rb @@ -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 diff --git a/test/controllers/errors_controller_test.rb b/test/controllers/errors_controller_test.rb index 01b07efc8..9f8ccee56 100644 --- a/test/controllers/errors_controller_test.rb +++ b/test/controllers/errors_controller_test.rb @@ -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