mirror of
https://github.com/discourse/discourse.git
synced 2024-12-26 06:44:15 +08:00
43 lines
1.3 KiB
Ruby
43 lines
1.3 KiB
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
RSpec.describe ProblemCheck::S3Cdn do
|
||
|
subject(:check) { described_class.new }
|
||
|
|
||
|
describe ".call" do
|
||
|
before do
|
||
|
GlobalSetting.stubs(use_s3?: globally_enabled)
|
||
|
SiteSetting.stubs(enable_s3_uploads?: locally_enabled)
|
||
|
SiteSetting::Upload.stubs(s3_cdn_url: cdn_url)
|
||
|
end
|
||
|
|
||
|
context "when S3 uploads are enabled" do
|
||
|
let(:globally_enabled) { false }
|
||
|
let(:locally_enabled) { true }
|
||
|
|
||
|
context "when CDN URL is configured" do
|
||
|
let(:cdn_url) { "https://cdn.codinghorror.com" }
|
||
|
|
||
|
it { expect(check).to be_chill_about_it }
|
||
|
end
|
||
|
|
||
|
context "when CDN URL is not configured" do
|
||
|
let(:cdn_url) { nil }
|
||
|
|
||
|
it do
|
||
|
expect(check).to have_a_problem.with_priority("low").with_message(
|
||
|
'The server is configured to upload files to S3, but there is no S3 CDN configured. This can lead to expensive S3 costs and slower site performance. <a href="https://meta.discourse.org/t/-/148916" target="_blank">See "Using Object Storage for Uploads" to learn more</a>.',
|
||
|
)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context "when S3 uploads are disabled" do
|
||
|
let(:globally_enabled) { false }
|
||
|
let(:locally_enabled) { false }
|
||
|
let(:cdn_url) { nil }
|
||
|
|
||
|
it { expect(check).to be_chill_about_it }
|
||
|
end
|
||
|
end
|
||
|
end
|