diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/attachments_test.rb | 12 | ||||
-rw-r--r-- | test/service/.gitignore (renamed from test/site/.gitignore) | 0 | ||||
-rw-r--r-- | test/service/configurations-example.yml (renamed from test/site/configurations-example.yml) | 0 | ||||
-rw-r--r-- | test/service/disk_service_test.rb | 8 | ||||
-rw-r--r-- | test/service/gcs_service_test.rb | 20 | ||||
-rw-r--r-- | test/service/mirror_service_test.rb | 30 | ||||
-rw-r--r-- | test/service/s3_service_test.rb | 11 | ||||
-rw-r--r-- | test/service/shared_service_tests.rb | 63 | ||||
-rw-r--r-- | test/site/disk_site_test.rb | 8 | ||||
-rw-r--r-- | test/site/gcs_site_test.rb | 20 | ||||
-rw-r--r-- | test/site/mirror_site_test.rb | 30 | ||||
-rw-r--r-- | test/site/s3_site_test.rb | 11 | ||||
-rw-r--r-- | test/site/shared_site_tests.rb | 63 | ||||
-rw-r--r-- | test/test_helper.rb | 4 |
14 files changed, 140 insertions, 140 deletions
diff --git a/test/attachments_test.rb b/test/attachments_test.rb index 6e25002bb1..33bbff716d 100644 --- a/test/attachments_test.rb +++ b/test/attachments_test.rb @@ -36,7 +36,7 @@ class ActiveStorage::AttachmentsTest < ActiveSupport::TestCase @user.avatar.purge assert_not @user.avatar.attached? - assert_not ActiveStorage::Blob.site.exist?(avatar_key) + assert_not ActiveStorage::Blob.service.exist?(avatar_key) end test "purge attached blob later when the record is destroyed" do @@ -47,7 +47,7 @@ class ActiveStorage::AttachmentsTest < ActiveSupport::TestCase @user.destroy assert_nil ActiveStorage::Blob.find_by(key: avatar_key) - assert_not ActiveStorage::Blob.site.exist?(avatar_key) + assert_not ActiveStorage::Blob.service.exist?(avatar_key) end end @@ -74,8 +74,8 @@ class ActiveStorage::AttachmentsTest < ActiveSupport::TestCase @user.highlights.purge assert_not @user.highlights.attached? - assert_not ActiveStorage::Blob.site.exist?(highlight_keys.first) - assert_not ActiveStorage::Blob.site.exist?(highlight_keys.second) + assert_not ActiveStorage::Blob.service.exist?(highlight_keys.first) + assert_not ActiveStorage::Blob.service.exist?(highlight_keys.second) end test "purge attached blobs later when the record is destroyed" do @@ -86,10 +86,10 @@ class ActiveStorage::AttachmentsTest < ActiveSupport::TestCase @user.destroy assert_nil ActiveStorage::Blob.find_by(key: highlight_keys.first) - assert_not ActiveStorage::Blob.site.exist?(highlight_keys.first) + assert_not ActiveStorage::Blob.service.exist?(highlight_keys.first) assert_nil ActiveStorage::Blob.find_by(key: highlight_keys.second) - assert_not ActiveStorage::Blob.site.exist?(highlight_keys.second) + assert_not ActiveStorage::Blob.service.exist?(highlight_keys.second) end end end diff --git a/test/site/.gitignore b/test/service/.gitignore index c102131f3d..c102131f3d 100644 --- a/test/site/.gitignore +++ b/test/service/.gitignore diff --git a/test/site/configurations-example.yml b/test/service/configurations-example.yml index 031197342a..031197342a 100644 --- a/test/site/configurations-example.yml +++ b/test/service/configurations-example.yml diff --git a/test/service/disk_service_test.rb b/test/service/disk_service_test.rb new file mode 100644 index 0000000000..5dd7cff303 --- /dev/null +++ b/test/service/disk_service_test.rb @@ -0,0 +1,8 @@ +require "tmpdir" +require "service/shared_service_tests" + +class ActiveStorage::Service::DiskServiceTest < ActiveSupport::TestCase + SERVICE = ActiveStorage::Service.configure(:Disk, root: File.join(Dir.tmpdir, "active_storage")) + + include ActiveStorage::Service::SharedServiceTests +end diff --git a/test/service/gcs_service_test.rb b/test/service/gcs_service_test.rb new file mode 100644 index 0000000000..42f9cd3061 --- /dev/null +++ b/test/service/gcs_service_test.rb @@ -0,0 +1,20 @@ +require "service/shared_service_tests" + +if SERVICE_CONFIGURATIONS[:gcs] + class ActiveStorage::Service::GCSServiceTest < ActiveSupport::TestCase + SERVICE = ActiveStorage::Service.configure(:GCS, SERVICE_CONFIGURATIONS[:gcs]) + + include ActiveStorage::Service::SharedServiceTests + + test "signed URL generation" do + travel_to Time.now do + url = SERVICE.bucket.signed_url(FIXTURE_KEY, expires: 120) + + "&response-content-disposition=inline%3B+filename%3D%22test.txt%22" + + assert_equal url, @service.url(FIXTURE_KEY, expires_in: 2.minutes, disposition: :inline, filename: "test.txt") + end + end + end +else + puts "Skipping GCS Service tests because no GCS configuration was supplied" +end diff --git a/test/service/mirror_service_test.rb b/test/service/mirror_service_test.rb new file mode 100644 index 0000000000..3b22c4f049 --- /dev/null +++ b/test/service/mirror_service_test.rb @@ -0,0 +1,30 @@ +require "tmpdir" +require "service/shared_service_tests" + +class ActiveStorage::Service::MirrorServiceTest < ActiveSupport::TestCase + PRIMARY_DISK_SERVICE = ActiveStorage::Service.configure(:Disk, root: File.join(Dir.tmpdir, "active_storage")) + SECONDARY_DISK_SERVICE = ActiveStorage::Service.configure(:Disk, root: File.join(Dir.tmpdir, "active_storage_mirror")) + + SERVICE = ActiveStorage::Service.configure :Mirror, services: [ PRIMARY_DISK_SERVICE, SECONDARY_DISK_SERVICE ] + + include ActiveStorage::Service::SharedServiceTests + + test "uploading was done to all services" do + begin + key = SecureRandom.base58(24) + data = "Something else entirely!" + io = StringIO.new(data) + @service.upload(key, io) + + assert_equal data, PRIMARY_DISK_SERVICE.download(key) + assert_equal data, SECONDARY_DISK_SERVICE.download(key) + ensure + @service.delete key + end + end + + test "existing in all services" do + assert PRIMARY_DISK_SERVICE.exist?(FIXTURE_KEY) + assert SECONDARY_DISK_SERVICE.exist?(FIXTURE_KEY) + end +end diff --git a/test/service/s3_service_test.rb b/test/service/s3_service_test.rb new file mode 100644 index 0000000000..604dfd6c60 --- /dev/null +++ b/test/service/s3_service_test.rb @@ -0,0 +1,11 @@ +require "service/shared_service_tests" + +if SERVICE_CONFIGURATIONS[:s3] + class ActiveStorage::Service::S3ServiceTest < ActiveSupport::TestCase + SERVICE = ActiveStorage::Service.configure(:S3, SERVICE_CONFIGURATIONS[:s3]) + + include ActiveStorage::Service::SharedServiceTests + end +else + puts "Skipping S3 Service tests because no S3 configuration was supplied" +end diff --git a/test/service/shared_service_tests.rb b/test/service/shared_service_tests.rb new file mode 100644 index 0000000000..16672ab49b --- /dev/null +++ b/test/service/shared_service_tests.rb @@ -0,0 +1,63 @@ +require "test_helper" +require "active_support/core_ext/securerandom" +require "yaml" + +SERVICE_CONFIGURATIONS = begin + YAML.load_file(File.expand_path("../configurations.yml", __FILE__)).deep_symbolize_keys +rescue Errno::ENOENT + puts "Missing service configuration file in test/services/configurations.yml" +end + +module ActiveStorage::Service::SharedServiceTests + extend ActiveSupport::Concern + + FIXTURE_KEY = SecureRandom.base58(24) + FIXTURE_FILE = StringIO.new("Hello world!") + + included do + setup do + @service = self.class.const_get(:SERVICE) + @service.upload FIXTURE_KEY, FIXTURE_FILE + FIXTURE_FILE.rewind + end + + teardown do + @service.delete FIXTURE_KEY + FIXTURE_FILE.rewind + end + + test "uploading" do + begin + key = SecureRandom.base58(24) + data = "Something else entirely!" + @service.upload(key, StringIO.new(data)) + + assert_equal data, @service.download(key) + ensure + @service.delete key + end + end + + test "downloading" do + assert_equal FIXTURE_FILE.read, @service.download(FIXTURE_KEY) + end + + test "existing" do + assert @service.exist?(FIXTURE_KEY) + assert_not @service.exist?(FIXTURE_KEY + "nonsense") + end + + test "deleting" do + @service.delete FIXTURE_KEY + assert_not @service.exist?(FIXTURE_KEY) + end + + test "sizing" do + assert_equal FIXTURE_FILE.size, @service.byte_size(FIXTURE_KEY) + end + + test "checksumming" do + assert_equal Digest::MD5.hexdigest(FIXTURE_FILE.read), @service.checksum(FIXTURE_KEY) + end + end +end diff --git a/test/site/disk_site_test.rb b/test/site/disk_site_test.rb deleted file mode 100644 index a04414ea68..0000000000 --- a/test/site/disk_site_test.rb +++ /dev/null @@ -1,8 +0,0 @@ -require "tmpdir" -require "site/shared_site_tests" - -class ActiveStorage::Site::DiskSiteTest < ActiveSupport::TestCase - SITE = ActiveStorage::Site.configure(:Disk, root: File.join(Dir.tmpdir, "active_storage")) - - include ActiveStorage::Site::SharedSiteTests -end diff --git a/test/site/gcs_site_test.rb b/test/site/gcs_site_test.rb deleted file mode 100644 index 98b1a3d767..0000000000 --- a/test/site/gcs_site_test.rb +++ /dev/null @@ -1,20 +0,0 @@ -require "site/shared_site_tests" - -if SITE_CONFIGURATIONS[:gcs] - class ActiveStorage::Site::GCSSiteTest < ActiveSupport::TestCase - SITE = ActiveStorage::Site.configure(:GCS, SITE_CONFIGURATIONS[:gcs]) - - include ActiveStorage::Site::SharedSiteTests - - test "signed URL generation" do - travel_to Time.now do - url = SITE.bucket.signed_url(FIXTURE_KEY, expires: 120) + - "&response-content-disposition=inline%3B+filename%3D%22test.txt%22" - - assert_equal url, @site.url(FIXTURE_KEY, expires_in: 2.minutes, disposition: :inline, filename: "test.txt") - end - end - end -else - puts "Skipping GCS Site tests because no GCS configuration was supplied" -end diff --git a/test/site/mirror_site_test.rb b/test/site/mirror_site_test.rb deleted file mode 100644 index 7ced377cde..0000000000 --- a/test/site/mirror_site_test.rb +++ /dev/null @@ -1,30 +0,0 @@ -require "tmpdir" -require "site/shared_site_tests" - -class ActiveStorage::Site::MirrorSiteTest < ActiveSupport::TestCase - PRIMARY_DISK_SITE = ActiveStorage::Site.configure(:Disk, root: File.join(Dir.tmpdir, "active_storage")) - SECONDARY_DISK_SITE = ActiveStorage::Site.configure(:Disk, root: File.join(Dir.tmpdir, "active_storage_mirror")) - - SITE = ActiveStorage::Site.configure :Mirror, sites: [ PRIMARY_DISK_SITE, SECONDARY_DISK_SITE ] - - include ActiveStorage::Site::SharedSiteTests - - test "uploading was done to all sites" do - begin - key = SecureRandom.base58(24) - data = "Something else entirely!" - io = StringIO.new(data) - @site.upload(key, io) - - assert_equal data, PRIMARY_DISK_SITE.download(key) - assert_equal data, SECONDARY_DISK_SITE.download(key) - ensure - @site.delete key - end - end - - test "existing in all sites" do - assert PRIMARY_DISK_SITE.exist?(FIXTURE_KEY) - assert SECONDARY_DISK_SITE.exist?(FIXTURE_KEY) - end -end diff --git a/test/site/s3_site_test.rb b/test/site/s3_site_test.rb deleted file mode 100644 index a9cb6ca618..0000000000 --- a/test/site/s3_site_test.rb +++ /dev/null @@ -1,11 +0,0 @@ -require "site/shared_site_tests" - -if SITE_CONFIGURATIONS[:s3] - class ActiveStorage::Site::S3SiteTest < ActiveSupport::TestCase - SITE = ActiveStorage::Site.configure(:S3, SITE_CONFIGURATIONS[:s3]) - - include ActiveStorage::Site::SharedSiteTests - end -else - puts "Skipping S3 Site tests because no S3 configuration was supplied" -end diff --git a/test/site/shared_site_tests.rb b/test/site/shared_site_tests.rb deleted file mode 100644 index 687c35e941..0000000000 --- a/test/site/shared_site_tests.rb +++ /dev/null @@ -1,63 +0,0 @@ -require "test_helper" -require "active_support/core_ext/securerandom" -require "yaml" - -SITE_CONFIGURATIONS = begin - YAML.load_file(File.expand_path("../configurations.yml", __FILE__)).deep_symbolize_keys -rescue Errno::ENOENT - puts "Missing site configuration file in test/sites/configurations.yml" -end - -module ActiveStorage::Site::SharedSiteTests - extend ActiveSupport::Concern - - FIXTURE_KEY = SecureRandom.base58(24) - FIXTURE_FILE = StringIO.new("Hello world!") - - included do - setup do - @site = self.class.const_get(:SITE) - @site.upload FIXTURE_KEY, FIXTURE_FILE - FIXTURE_FILE.rewind - end - - teardown do - @site.delete FIXTURE_KEY - FIXTURE_FILE.rewind - end - - test "uploading" do - begin - key = SecureRandom.base58(24) - data = "Something else entirely!" - @site.upload(key, StringIO.new(data)) - - assert_equal data, @site.download(key) - ensure - @site.delete key - end - end - - test "downloading" do - assert_equal FIXTURE_FILE.read, @site.download(FIXTURE_KEY) - end - - test "existing" do - assert @site.exist?(FIXTURE_KEY) - assert_not @site.exist?(FIXTURE_KEY + "nonsense") - end - - test "deleting" do - @site.delete FIXTURE_KEY - assert_not @site.exist?(FIXTURE_KEY) - end - - test "sizing" do - assert_equal FIXTURE_FILE.size, @site.byte_size(FIXTURE_KEY) - end - - test "checksumming" do - assert_equal Digest::MD5.hexdigest(FIXTURE_FILE.read), @site.checksum(FIXTURE_KEY) - end - end -end diff --git a/test/test_helper.rb b/test/test_helper.rb index f354a995e4..dcabe33c18 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -6,8 +6,8 @@ require "byebug" require "active_storage" -require "active_storage/site" -ActiveStorage::Blob.site = ActiveStorage::Site.configure(:Disk, root: File.join(Dir.tmpdir, "active_storage")) +require "active_storage/service" +ActiveStorage::Blob.service = ActiveStorage::Service.configure(:Disk, root: File.join(Dir.tmpdir, "active_storage")) require "active_storage/verified_key_with_expiration" ActiveStorage::VerifiedKeyWithExpiration.verifier = ActiveSupport::MessageVerifier.new("Testing") |