FIX: Remove double quotes from etag value in API response
https://github.com/aws/aws-sdk-ruby/issues/1134
This commit is contained in:
parent
f849169619
commit
cc496de10e
|
@ -43,7 +43,7 @@ class S3Helper
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return path, etag
|
return path, etag.gsub('"', '')
|
||||||
end
|
end
|
||||||
|
|
||||||
def remove(s3_filename, copy_to_tombstone = false)
|
def remove(s3_filename, copy_to_tombstone = false)
|
||||||
|
|
|
@ -38,18 +38,20 @@ describe FileStore::S3Store do
|
||||||
context 'uploading to s3' do
|
context 'uploading to s3' do
|
||||||
include_context "s3 helpers"
|
include_context "s3 helpers"
|
||||||
|
|
||||||
|
let(:s3_object) { stub }
|
||||||
let(:etag) { "etag" }
|
let(:etag) { "etag" }
|
||||||
|
|
||||||
|
before do
|
||||||
|
s3_object.stubs(:put).returns(Aws::S3::Types::PutObjectOutput.new(etag: "\"#{etag}\""))
|
||||||
|
end
|
||||||
|
|
||||||
describe "#store_upload" do
|
describe "#store_upload" do
|
||||||
it "returns an absolute schemaless url" do
|
it "returns an absolute schemaless url" do
|
||||||
store.expects(:get_depth_for).with(upload.id).returns(0)
|
store.expects(:get_depth_for).with(upload.id).returns(0)
|
||||||
s3_helper.expects(:s3_bucket).returns(s3_bucket).at_least_once
|
s3_helper.expects(:s3_bucket).returns(s3_bucket).at_least_once
|
||||||
s3_object = stub
|
|
||||||
|
|
||||||
s3_bucket.expects(:object).with("original/1X/#{upload.sha1}.png").returns(s3_object)
|
s3_bucket.expects(:object).with("original/1X/#{upload.sha1}.png").returns(s3_object)
|
||||||
|
|
||||||
s3_object.stubs(:put).returns(Aws::S3::Types::PutObjectOutput.new(etag: etag))
|
|
||||||
|
|
||||||
expect(store.store_upload(uploaded_file, upload)).to eq(
|
expect(store.store_upload(uploaded_file, upload)).to eq(
|
||||||
"//s3-upload-bucket.s3.dualstack.us-west-1.amazonaws.com/original/1X/#{upload.sha1}.png"
|
"//s3-upload-bucket.s3.dualstack.us-west-1.amazonaws.com/original/1X/#{upload.sha1}.png"
|
||||||
)
|
)
|
||||||
|
@ -64,12 +66,9 @@ describe FileStore::S3Store do
|
||||||
it "returns an absolute schemaless url" do
|
it "returns an absolute schemaless url" do
|
||||||
store.expects(:get_depth_for).with(upload.id).returns(0)
|
store.expects(:get_depth_for).with(upload.id).returns(0)
|
||||||
s3_helper.expects(:s3_bucket).returns(s3_bucket)
|
s3_helper.expects(:s3_bucket).returns(s3_bucket)
|
||||||
s3_object = stub
|
|
||||||
|
|
||||||
s3_bucket.expects(:object).with("discourse-uploads/original/1X/#{upload.sha1}.png").returns(s3_object)
|
s3_bucket.expects(:object).with("discourse-uploads/original/1X/#{upload.sha1}.png").returns(s3_object)
|
||||||
|
|
||||||
s3_object.stubs(:put).returns(Aws::S3::Types::PutObjectOutput.new(etag: etag))
|
|
||||||
|
|
||||||
expect(store.store_upload(uploaded_file, upload)).to eq(
|
expect(store.store_upload(uploaded_file, upload)).to eq(
|
||||||
"//s3-upload-bucket.s3.dualstack.us-west-1.amazonaws.com/discourse-uploads/original/1X/#{upload.sha1}.png"
|
"//s3-upload-bucket.s3.dualstack.us-west-1.amazonaws.com/discourse-uploads/original/1X/#{upload.sha1}.png"
|
||||||
)
|
)
|
||||||
|
@ -82,13 +81,10 @@ describe FileStore::S3Store do
|
||||||
it "returns an absolute schemaless url" do
|
it "returns an absolute schemaless url" do
|
||||||
store.expects(:get_depth_for).with(optimized_image.upload.id).returns(0)
|
store.expects(:get_depth_for).with(optimized_image.upload.id).returns(0)
|
||||||
s3_helper.expects(:s3_bucket).returns(s3_bucket)
|
s3_helper.expects(:s3_bucket).returns(s3_bucket)
|
||||||
s3_object = stub
|
|
||||||
path = "optimized/1X/#{optimized_image.upload.sha1}_#{OptimizedImage::VERSION}_100x200.png"
|
path = "optimized/1X/#{optimized_image.upload.sha1}_#{OptimizedImage::VERSION}_100x200.png"
|
||||||
|
|
||||||
s3_bucket.expects(:object).with(path).returns(s3_object)
|
s3_bucket.expects(:object).with(path).returns(s3_object)
|
||||||
|
|
||||||
s3_object.stubs(:put).returns(Aws::S3::Types::PutObjectOutput.new(etag: etag))
|
|
||||||
|
|
||||||
expect(store.store_optimized_image(optimized_image_file, optimized_image)).to eq(
|
expect(store.store_optimized_image(optimized_image_file, optimized_image)).to eq(
|
||||||
"//s3-upload-bucket.s3.dualstack.us-west-1.amazonaws.com/#{path}"
|
"//s3-upload-bucket.s3.dualstack.us-west-1.amazonaws.com/#{path}"
|
||||||
)
|
)
|
||||||
|
@ -103,13 +99,10 @@ describe FileStore::S3Store do
|
||||||
it "returns an absolute schemaless url" do
|
it "returns an absolute schemaless url" do
|
||||||
store.expects(:get_depth_for).with(optimized_image.upload.id).returns(0)
|
store.expects(:get_depth_for).with(optimized_image.upload.id).returns(0)
|
||||||
s3_helper.expects(:s3_bucket).returns(s3_bucket)
|
s3_helper.expects(:s3_bucket).returns(s3_bucket)
|
||||||
s3_object = stub
|
|
||||||
path = "discourse-uploads/optimized/1X/#{optimized_image.upload.sha1}_#{OptimizedImage::VERSION}_100x200.png"
|
path = "discourse-uploads/optimized/1X/#{optimized_image.upload.sha1}_#{OptimizedImage::VERSION}_100x200.png"
|
||||||
|
|
||||||
s3_bucket.expects(:object).with(path).returns(s3_object)
|
s3_bucket.expects(:object).with(path).returns(s3_object)
|
||||||
|
|
||||||
s3_object.stubs(:put).returns(Aws::S3::Types::PutObjectOutput.new(etag: etag))
|
|
||||||
|
|
||||||
expect(store.store_optimized_image(optimized_image_file, optimized_image)).to eq(
|
expect(store.store_optimized_image(optimized_image_file, optimized_image)).to eq(
|
||||||
"//s3-upload-bucket.s3.dualstack.us-west-1.amazonaws.com/#{path}"
|
"//s3-upload-bucket.s3.dualstack.us-west-1.amazonaws.com/#{path}"
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue