0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-06 13:08:40 +08:00
discourse/spec/lib/onebox/domain_checker_spec.rb

37 lines
1.7 KiB
Ruby
Vendored

# frozen_string_literal: true
RSpec.describe Onebox::DomainChecker do
describe ".is_blocked?" do
before { SiteSetting.blocked_onebox_domains = "api.cat.org|kitten.cloud" }
describe "returns true when entirely matched" do
it { expect(described_class.is_blocked?("api.cat.org")).to be(true) }
it { expect(described_class.is_blocked?("kitten.cloud")).to be(true) }
it { expect(described_class.is_blocked?("api.dog.org")).to be(false) }
it { expect(described_class.is_blocked?("puppy.cloud")).to be(false) }
end
describe "returns true when ends with .<domain>" do
it { expect(described_class.is_blocked?("dev.api.cat.org")).to be(true) }
it { expect(described_class.is_blocked?(".api.cat.org")).to be(true) }
it { expect(described_class.is_blocked?("dev.kitten.cloud")).to be(true) }
it { expect(described_class.is_blocked?(".kitten.cloud")).to be(true) }
it { expect(described_class.is_blocked?("xapi.cat.org")).to be(false) }
it { expect(described_class.is_blocked?("xkitten.cloud")).to be(false) }
end
describe "matches regardless of hostname casing" do
it { expect(described_class.is_blocked?("API.CAT.ORG")).to be(true) }
it { expect(described_class.is_blocked?("Api.Cat.Org")).to be(true) }
it { expect(described_class.is_blocked?("Dev.Api.Cat.Org")).to be(true) }
it { expect(described_class.is_blocked?("KITTEN.CLOUD")).to be(true) }
end
describe "matches regardless of blocked entry casing" do
before { SiteSetting.blocked_onebox_domains = "API.CAT.ORG" }
it { expect(described_class.is_blocked?("api.cat.org")).to be(true) }
it { expect(described_class.is_blocked?("dev.api.cat.org")).to be(true) }
end
end
end