From 894e1e3183b78d62d873454312882df53a29f850 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 6 Jul 2017 16:01:11 +0200 Subject: Check integrity after uploads --- test/service/shared_service_tests.rb | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/service/shared_service_tests.rb b/test/service/shared_service_tests.rb index 3676272e27..b4c888e77c 100644 --- a/test/service/shared_service_tests.rb +++ b/test/service/shared_service_tests.rb @@ -26,11 +26,11 @@ module ActiveStorage::Service::SharedServiceTests FIXTURE_FILE.rewind end - test "uploading" do + test "uploading with integrity" do begin key = SecureRandom.base58(24) data = "Something else entirely!" - @service.upload(key, StringIO.new(data)) + @service.upload(key, StringIO.new(data), checksum: Digest::MD5.base64digest(data)) assert_equal data, @service.download(key) ensure @@ -38,6 +38,19 @@ module ActiveStorage::Service::SharedServiceTests end end + test "upload without integrity" do + begin + key = SecureRandom.base58(24) + data = "Something else entirely!" + + assert_raises(ActiveStorage::IntegrityError) do + @service.upload(key, StringIO.new(data), checksum: "BAD_CHECKSUM") + end + ensure + @service.delete key + end + end + test "downloading" do assert_equal FIXTURE_FILE.read, @service.download(FIXTURE_KEY) end -- cgit v1.2.3