DEV: use cdn url to download the external uploads to local.

This commit is contained in:
Vinoth Kannan
2019-06-06 19:17:19 +05:30
parent 4be54d5ae1
commit b7830680b6
2 changed files with 18 additions and 3 deletions

View File

@ -59,13 +59,12 @@ RSpec.describe FileStore::BaseStore do
end
let(:upload_s3) { Fabricate(:upload_s3) }
let(:store) { FileStore::BaseStore.new }
it "should return consistent encodings for fresh and cached downloads" do
# Net::HTTP always returns binary ASCII-8BIT encoding. File.read auto-detects the encoding
# Make sure we File.read after downloading a file for consistency
store = FileStore::BaseStore.new
first_encoding = store.download(upload_s3).read.encoding
second_encoding = store.download(upload_s3).read.encoding
@ -73,5 +72,20 @@ RSpec.describe FileStore::BaseStore do
expect(first_encoding).to eq(Encoding::UTF_8)
expect(second_encoding).to eq(Encoding::UTF_8)
end
it "should return the file" do
file = store.download(upload_s3)
expect(file.class).to eq(File)
end
it "should return the file when s3 cdn enabled" do
SiteSetting.s3_cdn_url = "https://cdn.s3.amazonaws.com"
stub_request(:get, Discourse.store.cdn_url(upload_s3.url)).to_return(status: 200, body: "Hello world")
file = store.download(upload_s3)
expect(file.class).to eq(File)
end
end
end