aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2017-07-06 16:01:11 +0200
committerDavid Heinemeier Hansson <david@loudthinking.com>2017-07-06 16:01:11 +0200
commit894e1e3183b78d62d873454312882df53a29f850 (patch)
tree0a01a8bad85dbe6ba1f536473ce96b5c3e90fbd1 /test
parentef07687262716984db51c173a0378d1eb0664289 (diff)
downloadrails-894e1e3183b78d62d873454312882df53a29f850.tar.gz
rails-894e1e3183b78d62d873454312882df53a29f850.tar.bz2
rails-894e1e3183b78d62d873454312882df53a29f850.zip
Check integrity after uploads
Diffstat (limited to 'test')
-rw-r--r--test/service/shared_service_tests.rb17
1 files changed, 15 insertions, 2 deletions
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