make sure we handle both s3 url formats
This commit is contained in:
parent
7ae2fe304d
commit
5c27dd175a
|
@ -99,7 +99,7 @@ class Upload < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def self.is_on_s3?(url)
|
||||
SiteSetting.enable_s3_uploads? && url.start_with?(S3Store.base_url)
|
||||
SiteSetting.enable_s3_uploads? && (url.start_with?(S3Store.base_url) || url.start_with?(S3Store.base_url_old))
|
||||
end
|
||||
|
||||
def self.get_from_url(url)
|
||||
|
|
|
@ -16,6 +16,10 @@ module S3Store
|
|||
"//s3.amazonaws.com/#{SiteSetting.s3_upload_bucket}"
|
||||
end
|
||||
|
||||
def self.base_url_old
|
||||
"//#{SiteSetting.s3_upload_bucket.downcase}.s3.amazonaws.com"
|
||||
end
|
||||
|
||||
def self.remove_file(url)
|
||||
S3Store.check_missing_site_settings
|
||||
|
||||
|
|
|
@ -174,6 +174,24 @@ describe Upload do
|
|||
|
||||
end
|
||||
|
||||
context ".is_on_s3?" do
|
||||
|
||||
before do
|
||||
SiteSetting.stubs(:enable_s3_uploads).returns(true)
|
||||
SiteSetting.stubs(:s3_upload_bucket).returns("BuCkEt")
|
||||
end
|
||||
|
||||
it "case-insensitively matches the old subdomain format" do
|
||||
Upload.is_on_s3?("//bucket.s3.amazonaws.com/1337.png").should == true
|
||||
end
|
||||
|
||||
it "case-sensitively matches the new folder format" do
|
||||
Upload.is_on_s3?("//s3.amazonaws.com/BuCkEt/1337.png").should == true
|
||||
Upload.is_on_s3?("//s3.amazonaws.com/bucket/1337.png").should == false
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
context ".get_from_url" do
|
||||
|
||||
it "works only when the file has been uploaded" do
|
||||
|
|
Loading…
Reference in New Issue