1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/test/service/mirror_service_test.rb
2017-07-06 12:22:44 +02:00

30 lines
1 KiB
Ruby

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