mirror of
https://github.com/discourse/discourse.git
synced 2025-05-31 04:38:47 +08:00
DEV: Clean up S3 specs, stubs, and helpers
Extracted commonly used spec helpers into spec/support/uploads_helpers.rb, removed unused stubs and let definitions. Makes it easier to write new S3-related specs without copy and pasting setup steps from other specs.
This commit is contained in:

committed by
Daniel Waterworth

parent
50d53508b1
commit
e00abbe1b7
@ -50,7 +50,8 @@ RSpec.describe "tasks/uploads" do
|
||||
|
||||
context "when store is external" do
|
||||
before do
|
||||
enable_s3_uploads(uploads)
|
||||
setup_s3
|
||||
uploads.each { |upload| stub_upload(upload) }
|
||||
end
|
||||
|
||||
context "when secure media is enabled" do
|
||||
@ -125,7 +126,11 @@ RSpec.describe "tasks/uploads" do
|
||||
upload_to_mark_not_secure = Fabricate(:upload_s3, secure: true)
|
||||
post_for_upload = Fabricate(:post)
|
||||
PostUpload.create(post: post_for_upload, upload: upload_to_mark_not_secure)
|
||||
enable_s3_uploads(uploads.concat([upload_to_mark_not_secure]))
|
||||
|
||||
setup_s3
|
||||
uploads.each { |upload| stub_upload(upload) }
|
||||
stub_upload(upload_to_mark_not_secure)
|
||||
|
||||
invoke_task
|
||||
expect(upload_to_mark_not_secure.reload.secure).to eq(false)
|
||||
end
|
||||
@ -154,7 +159,10 @@ RSpec.describe "tasks/uploads" do
|
||||
before do
|
||||
global_setting :s3_bucket, 'file-uploads/folder'
|
||||
global_setting :s3_region, 'us-east-1'
|
||||
enable_s3_uploads(uploads)
|
||||
|
||||
setup_s3
|
||||
uploads.each { |upload| stub_upload(upload) }
|
||||
|
||||
upload1.url = "//#{SiteSetting.s3_upload_bucket}.amazonaws.com/original/1X/#{upload1.base62_sha1}.png"
|
||||
upload1.save!
|
||||
upload2.url = "//#{SiteSetting.s3_upload_bucket}.amazonaws.com/original/1X/#{upload2.base62_sha1}.png"
|
||||
@ -206,7 +214,9 @@ RSpec.describe "tasks/uploads" do
|
||||
before do
|
||||
global_setting :s3_bucket, 'file-uploads/folder'
|
||||
global_setting :s3_region, 'us-east-1'
|
||||
enable_s3_uploads(uploads)
|
||||
setup_s3
|
||||
uploads.each { |upload| stub_upload(upload) }
|
||||
|
||||
upload1.url = "//#{SiteSetting.s3_upload_bucket}.amazonaws.com/original/1X/#{upload1.base62_sha1}.png"
|
||||
upload1.save!
|
||||
upload2.url = "//#{SiteSetting.s3_upload_bucket}.amazonaws.com/original/1X/#{upload2.base62_sha1}.png"
|
||||
@ -251,7 +261,9 @@ RSpec.describe "tasks/uploads" do
|
||||
end
|
||||
|
||||
before do
|
||||
enable_s3_uploads(uploads)
|
||||
setup_s3
|
||||
uploads.each { |upload| stub_upload(upload) }
|
||||
|
||||
SiteSetting.secure_media = true
|
||||
PostUpload.create(post: post1, upload: upload1)
|
||||
PostUpload.create(post: post1, upload: upload2)
|
||||
@ -300,20 +312,4 @@ RSpec.describe "tasks/uploads" do
|
||||
invoke_task
|
||||
end
|
||||
end
|
||||
|
||||
def enable_s3_uploads(uploads)
|
||||
SiteSetting.enable_s3_uploads = true
|
||||
SiteSetting.s3_upload_bucket = "s3-upload-bucket"
|
||||
SiteSetting.s3_access_key_id = "some key"
|
||||
SiteSetting.s3_secret_access_key = "some secrets3_region key"
|
||||
|
||||
stub_request(:head, "https://#{SiteSetting.s3_upload_bucket}.s3.amazonaws.com/")
|
||||
|
||||
uploads.each do |upload|
|
||||
stub_request(
|
||||
:put,
|
||||
"https://#{SiteSetting.s3_upload_bucket}.s3.amazonaws.com/original/1X/#{upload.sha1}.#{upload.extension}?acl"
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user