aboutsummaryrefslogtreecommitdiffstats
path: root/activestorage/test
diff options
context:
space:
mode:
authorPeter Zhu <peter@peterzhu.ca>2019-07-28 11:03:07 -0400
committerPeter Zhu <peter@peterzhu.ca>2019-07-31 09:54:51 -0400
commite6d2e8bf9b3d9af6af74a4beb8934ba7558f321b (patch)
treef116873e4f7b62987b986feb73bac78549916f6f /activestorage/test
parentefa2299ac3bbf86feacfa337645654f87109e769 (diff)
downloadrails-e6d2e8bf9b3d9af6af74a4beb8934ba7558f321b.tar.gz
rails-e6d2e8bf9b3d9af6af74a4beb8934ba7558f321b.tar.bz2
rails-e6d2e8bf9b3d9af6af74a4beb8934ba7558f321b.zip
Upload file with filename and disposition for S3
Diffstat (limited to 'activestorage/test')
-rw-r--r--activestorage/test/service/s3_service_test.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/activestorage/test/service/s3_service_test.rb b/activestorage/test/service/s3_service_test.rb
index b9120770e6..3dd1b59681 100644
--- a/activestorage/test/service/s3_service_test.rb
+++ b/activestorage/test/service/s3_service_test.rb
@@ -77,6 +77,23 @@ if SERVICE_CONFIGURATIONS[:s3]
@service.delete key
end
+ test "upload with content disposition" do
+ key = SecureRandom.base58(24)
+ data = "Something else entirely!"
+
+ @service.upload(
+ key,
+ StringIO.new(data),
+ checksum: Digest::MD5.base64digest(data),
+ filename: ActiveStorage::Filename.new("cool_data.txt"),
+ disposition: :attachment
+ )
+
+ assert_equal("attachment; filename=\"cool_data.txt\"; filename*=UTF-8''cool_data.txt", @service.bucket.object(key).content_disposition)
+ ensure
+ @service.delete key
+ end
+
test "uploading a large object in multiple parts" do
service = build_service(upload: { multipart_threshold: 5.megabytes })