2019-04-29 20:27:42 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2016-02-04 21:05:47 -05:00
|
|
|
require "global_path"
|
|
|
|
|
|
|
|
class GlobalPathInstance
|
|
|
|
extend GlobalPath
|
|
|
|
end
|
|
|
|
|
2022-07-27 22:27:38 -04:00
|
|
|
RSpec.describe GlobalPath do
|
2022-07-27 12:14:14 -04:00
|
|
|
describe ".cdn_relative_path" do
|
2016-02-04 21:05:47 -05:00
|
|
|
def cdn_relative_path(p)
|
|
|
|
GlobalPathInstance.cdn_relative_path(p)
|
|
|
|
end
|
|
|
|
|
|
|
|
it "just returns path for no cdn" do
|
|
|
|
expect(cdn_relative_path("/test")).to eq("/test")
|
|
|
|
end
|
|
|
|
|
|
|
|
it "returns path when a cdn is defined with a path" do
|
|
|
|
GlobalSetting.expects(:cdn_url).returns("//something.com/foo")
|
|
|
|
expect(cdn_relative_path("/test")).to eq("/foo/test")
|
|
|
|
end
|
|
|
|
|
|
|
|
it "returns path when a cdn is defined with a path" do
|
|
|
|
GlobalSetting.expects(:cdn_url).returns("https://something.com:221/foo")
|
|
|
|
expect(cdn_relative_path("/test")).to eq("/foo/test")
|
|
|
|
end
|
2018-10-24 00:14:01 -04:00
|
|
|
end
|
|
|
|
|
2022-07-27 12:14:14 -04:00
|
|
|
describe ".upload_cdn_path" do
|
2018-10-24 00:14:01 -04:00
|
|
|
it "generates correctly when S3 bucket has a folder" do
|
|
|
|
global_setting :s3_access_key_id, "s3_access_key_id"
|
|
|
|
global_setting :s3_secret_access_key, "s3_secret_access_key"
|
|
|
|
global_setting :s3_bucket, "file-uploads/folder"
|
|
|
|
global_setting :s3_region, "us-west-2"
|
|
|
|
global_setting :s3_cdn_url, "https://cdn-aws.com/folder"
|
2023-01-09 06:18:21 -05:00
|
|
|
|
2018-10-24 00:14:01 -04:00
|
|
|
expect(
|
|
|
|
GlobalPathInstance.upload_cdn_path(
|
|
|
|
"#{Discourse.store.absolute_base_url}/folder/upload.jpg",
|
2023-01-09 06:18:21 -05:00
|
|
|
),
|
2018-10-24 00:14:01 -04:00
|
|
|
).to eq("https://cdn-aws.com/folder/upload.jpg")
|
|
|
|
end
|
2016-02-04 21:05:47 -05:00
|
|
|
end
|
|
|
|
end
|