X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/f1c6a87aa137c11d0aff5a4b0e563ac2c2a8f82d..979a474c682c894125e0fe9ddfc5bae566ad895c:/test/controllers/api/traces_controller_test.rb?ds=sidebyside diff --git a/test/controllers/api/traces_controller_test.rb b/test/controllers/api/traces_controller_test.rb index 80b9d1a84..be5cb16cf 100644 --- a/test/controllers/api/traces_controller_test.rb +++ b/test/controllers/api/traces_controller_test.rb @@ -3,9 +3,20 @@ require "minitest/mock" module Api class TracesControllerTest < ActionController::TestCase + # Use temporary directories with unique names for each test + # This allows the tests to be run in parallel. + def setup + @gpx_trace_dir_orig = Settings.gpx_trace_dir + @gpx_image_dir_orig = Settings.gpx_image_dir + Settings.gpx_trace_dir = Dir.mktmpdir("trace", Rails.root.join("test/gpx")) + Settings.gpx_image_dir = Dir.mktmpdir("image", Rails.root.join("test/gpx")) + end + def teardown - File.unlink(*Dir.glob(File.join(Settings.gpx_trace_dir, "*.gpx"))) - File.unlink(*Dir.glob(File.join(Settings.gpx_image_dir, "*.gif"))) + FileUtils.remove_dir(Settings.gpx_trace_dir) + FileUtils.remove_dir(Settings.gpx_image_dir) + Settings.gpx_trace_dir = @gpx_trace_dir_orig + Settings.gpx_image_dir = @gpx_image_dir_orig end ## @@ -178,7 +189,7 @@ module Api # Test creating a trace through the api def test_create # Get file to use - fixture = Rails.root.join("test", "gpx", "fixtures", "a.gpx") + fixture = Rails.root.join("test/gpx/fixtures/a.gpx") file = Rack::Test::UploadedFile.new(fixture, "application/gpx+xml") user = create(:user)