X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/ea59d95f4aad7cafe3a0d0b4d5ef533b0662e365..92b122759f131d161c36987999eed437c6e3b0d5:/test/models/trace_test.rb diff --git a/test/models/trace_test.rb b/test/models/trace_test.rb index 8b38b7f0e..99aac41d8 100644 --- a/test/models/trace_test.rb +++ b/test/models/trace_test.rb @@ -2,22 +2,6 @@ require "test_helper" require "gpx" class TraceTest < ActiveSupport::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 - 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 - def test_visible public_trace_file = create(:trace) create(:trace, :deleted) @@ -76,17 +60,17 @@ class TraceTest < ActiveSupport::TestCase def test_validations trace_valid({}) - trace_valid({ :user_id => nil }, false) - trace_valid(:name => "a" * 255) - trace_valid({ :name => "a" * 256 }, false) - trace_valid({ :description => nil }, false) - trace_valid(:description => "a" * 255) - trace_valid({ :description => "a" * 256 }, false) - trace_valid(:visibility => "private") - trace_valid(:visibility => "public") - trace_valid(:visibility => "trackable") - trace_valid(:visibility => "identifiable") - trace_valid({ :visibility => "foo" }, false) + trace_valid({ :user_id => nil }, :valid => false) + trace_valid({ :name => "a" * 255 }) + trace_valid({ :name => "a" * 256 }, :valid => false) + trace_valid({ :description => nil }, :valid => false) + trace_valid({ :description => "a" * 255 }) + trace_valid({ :description => "a" * 256 }, :valid => false) + trace_valid({ :visibility => "private" }) + trace_valid({ :visibility => "public" }) + trace_valid({ :visibility => "trackable" }) + trace_valid({ :visibility => "identifiable" }) + trace_valid({ :visibility => "foo" }, :valid => false) end def test_tagstring @@ -136,11 +120,11 @@ class TraceTest < ActiveSupport::TestCase check_mime_type("a", "application/gpx+xml") check_mime_type("b", "application/gpx+xml") check_mime_type("c", "application/x-bzip2") - check_mime_type("d", "application/x-gzip") - check_mime_type("f", "application/x-zip") + check_mime_type("d", "application/gzip") + check_mime_type("f", "application/zip") check_mime_type("g", "application/x-tar") - check_mime_type("h", "application/x-gzip") - check_mime_type("i", "application/x-bzip2") + check_mime_type("h", "application/x-tar+gzip") + check_mime_type("i", "application/x-tar+x-bzip2") end def test_extension_name @@ -168,24 +152,16 @@ class TraceTest < ActiveSupport::TestCase def test_large_picture picture = File.read(Rails.root.join("test/gpx/fixtures/a.gif"), :mode => "rb") + trace = create(:trace, :fixture => "a") - trace = Trace.create - trace.large_picture = picture - assert_equal "7c841749e084ee4a5d13f12cd3bef456", md5sum(File.new(trace.large_picture_name)) assert_equal picture, trace.large_picture - - trace.destroy end def test_icon_picture picture = File.read(Rails.root.join("test/gpx/fixtures/a_icon.gif"), :mode => "rb") + trace = create(:trace, :fixture => "a") - trace = Trace.create - trace.icon_picture = picture - assert_equal "b47baf22ed0e85d77e808694fad0ee27", md5sum(File.new(trace.icon_picture_name)) assert_equal picture, trace.icon_picture - - trace.destroy end def test_import_removes_previous_tracepoints @@ -215,29 +191,27 @@ class TraceTest < ActiveSupport::TestCase end def test_import_creates_icon - trace = create(:trace, :fixture => "a") - icon_path = File.join(Settings.gpx_image_dir, "#{trace.id}_icon.gif") - FileUtils.rm(icon_path) - assert_not File.exist?(icon_path) + trace = create(:trace, :inserted => false, :fixture => "a") + + assert_not trace.icon.attached? trace.import - assert_path_exists(icon_path) + assert trace.icon.attached? end def test_import_creates_large_picture - trace = create(:trace, :fixture => "a") - large_picture_path = File.join(Settings.gpx_image_dir, "#{trace.id}.gif") - FileUtils.rm(large_picture_path) - assert_not File.exist?(large_picture_path) + trace = create(:trace, :inserted => false, :fixture => "a") + + assert_not trace.image.attached? trace.import - assert_path_exists(large_picture_path) + assert trace.image.attached? end def test_import_handles_bz2 - trace = create(:trace, :fixture => "c") + trace = create(:trace, :inserted => false, :fixture => "c") trace.import @@ -245,7 +219,7 @@ class TraceTest < ActiveSupport::TestCase end def test_import_handles_plain - trace = create(:trace, :fixture => "a") + trace = create(:trace, :inserted => false, :fixture => "a") trace.import @@ -253,7 +227,7 @@ class TraceTest < ActiveSupport::TestCase end def test_import_handles_plain_with_bom - trace = create(:trace, :fixture => "b") + trace = create(:trace, :inserted => false, :fixture => "b") trace.import @@ -261,7 +235,7 @@ class TraceTest < ActiveSupport::TestCase end def test_import_handles_gz - trace = create(:trace, :fixture => "d") + trace = create(:trace, :inserted => false, :fixture => "d") trace.import @@ -269,7 +243,7 @@ class TraceTest < ActiveSupport::TestCase end def test_import_handles_zip - trace = create(:trace, :fixture => "f") + trace = create(:trace, :inserted => false, :fixture => "f") trace.import @@ -277,7 +251,7 @@ class TraceTest < ActiveSupport::TestCase end def test_import_handles_tar - trace = create(:trace, :fixture => "g") + trace = create(:trace, :inserted => false, :fixture => "g") trace.import @@ -285,7 +259,7 @@ class TraceTest < ActiveSupport::TestCase end def test_import_handles_tar_gz - trace = create(:trace, :fixture => "h") + trace = create(:trace, :inserted => false, :fixture => "h") trace.import @@ -293,7 +267,7 @@ class TraceTest < ActiveSupport::TestCase end def test_import_handles_tar_bz2 - trace = create(:trace, :fixture => "i") + trace = create(:trace, :inserted => false, :fixture => "i") trace.import @@ -319,9 +293,9 @@ class TraceTest < ActiveSupport::TestCase assert_equal md5sum, md5sum(create(:trace, :fixture => id).xml_file) end - def trace_valid(attrs, result = true) + def trace_valid(attrs, valid: true) entry = build(:trace, attrs) - assert_equal result, entry.valid?, "Expected #{attrs.inspect} to be #{result}" + assert_equal valid, entry.valid?, "Expected #{attrs.inspect} to be #{valid}" end def md5sum(io)