X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=test%2Fpleroma%2Fweb%2Factivity_pub%2Fmrf_test.exs;h=7359398febd0c27c14cb85cb45712fca68dc382b;hb=90088cce11cf2d636f2741b2e340ae9dc518406d;hp=ec4dab30f0cdec500cc7e41509cb645132073bc8;hpb=31ad09010e03f30643b9e921c4fd85c113071a4d;p=akkoma diff --git a/test/pleroma/web/activity_pub/mrf_test.exs b/test/pleroma/web/activity_pub/mrf_test.exs index ec4dab30f..7359398fe 100644 --- a/test/pleroma/web/activity_pub/mrf_test.exs +++ b/test/pleroma/web/activity_pub/mrf_test.exs @@ -10,7 +10,7 @@ defmodule Pleroma.Web.ActivityPub.MRFTest do test "subdomains_regex/1" do assert MRF.subdomains_regex(["unsafe.tld", "*.unsafe.tld"]) == [ ~r/^(.+\.)?unsafe\.tld$/i, - ~r/^(.+\.)?\*\.unsafe\.tld$/i + ~r/^(.+\.)?unsafe\.tld$/i ] end @@ -48,6 +48,31 @@ defmodule Pleroma.Web.ActivityPub.MRFTest do refute MRF.subdomain_match?(regexes, "sub.unsafe.tldanother") end + test "wildcard on the tld" do + regexes = MRF.subdomains_regex(["somewhere.*"]) + + assert regexes == [~r/^(.+\.)?somewhere\.(.+)$/i] + + assert MRF.subdomain_match?(regexes, "somewhere.net") + assert MRF.subdomain_match?(regexes, "somewhere.com") + assert MRF.subdomain_match?(regexes, "somewhere.somewherelese.net") + refute MRF.subdomain_match?(regexes, "somewhere") + end + + test "wildcards on subdomain _and_ tld" do + regexes = MRF.subdomains_regex(["*.somewhere.*"]) + + assert regexes == [~r/^(.+\.)?somewhere\.(.+)$/i] + + assert MRF.subdomain_match?(regexes, "somewhere.net") + assert MRF.subdomain_match?(regexes, "somewhere.com") + assert MRF.subdomain_match?(regexes, "sub.somewhere.net") + assert MRF.subdomain_match?(regexes, "sub.somewhere.com") + assert MRF.subdomain_match?(regexes, "sub.sub.somewhere.net") + assert MRF.subdomain_match?(regexes, "sub.sub.somewhere.com") + refute MRF.subdomain_match?(regexes, "somewhere") + end + test "matches are case-insensitive" do regexes = MRF.subdomains_regex(["UnSafe.TLD", "UnSAFE2.Tld"]) @@ -77,7 +102,7 @@ defmodule Pleroma.Web.ActivityPub.MRFTest do clear_config([:mrf, :policies], [Pleroma.Web.ActivityPub.MRF.NoOpPolicy]) expected = %{ - mrf_policies: ["NoOpPolicy", "HashtagPolicy", "InlineQuotePolicy"], + mrf_policies: ["NoOpPolicy", "HashtagPolicy", "InlineQuotePolicy", "NormalizeMarkup"], mrf_hashtag: %{ federated_timeline_removal: [], reject: [], @@ -93,7 +118,7 @@ defmodule Pleroma.Web.ActivityPub.MRFTest do clear_config([:mrf, :policies], [MRFModuleMock]) expected = %{ - mrf_policies: ["MRFModuleMock", "HashtagPolicy", "InlineQuotePolicy"], + mrf_policies: ["MRFModuleMock", "HashtagPolicy", "InlineQuotePolicy", "NormalizeMarkup"], mrf_module_mock: "some config data", mrf_hashtag: %{ federated_timeline_removal: [],