X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=test%2Fpleroma%2Fweb%2Factivity_pub%2Fmrf%2Fmention_policy_test.exs;h=8aef8bb1a128f9d4b5283d0c4a6feda319154df3;hb=1f863f0a36ebb0648c3d39ecb7ea9e3d01deab60;hp=220309cc94c9484948c1e942bd330325064e2bc3;hpb=ddf36b096e3f6e2fa1cdca5d59db98ade696df20;p=akkoma diff --git a/test/pleroma/web/activity_pub/mrf/mention_policy_test.exs b/test/pleroma/web/activity_pub/mrf/mention_policy_test.exs index 220309cc9..8aef8bb1a 100644 --- a/test/pleroma/web/activity_pub/mrf/mention_policy_test.exs +++ b/test/pleroma/web/activity_pub/mrf/mention_policy_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Web.ActivityPub.MRF.MentionPolicyTest do @@ -18,44 +18,68 @@ defmodule Pleroma.Web.ActivityPub.MRF.MentionPolicyTest do "cc" => ["https://example.com/blocked"] } + update_message = %{ + "type" => "Update", + "to" => ["https://example.com/ok"], + "cc" => ["https://example.com/blocked"] + } + assert MentionPolicy.filter(message) == {:ok, message} + assert MentionPolicy.filter(update_message) == {:ok, update_message} end describe "allow" do test "empty" do - Pleroma.Config.put([:mrf_mention], %{actors: ["https://example.com/blocked"]}) + clear_config([:mrf_mention], %{actors: ["https://example.com/blocked"]}) message = %{ "type" => "Create" } + update_message = %{ + "type" => "Update" + } + assert MentionPolicy.filter(message) == {:ok, message} + assert MentionPolicy.filter(update_message) == {:ok, update_message} end test "to" do - Pleroma.Config.put([:mrf_mention], %{actors: ["https://example.com/blocked"]}) + clear_config([:mrf_mention], %{actors: ["https://example.com/blocked"]}) message = %{ "type" => "Create", "to" => ["https://example.com/ok"] } + update_message = %{ + "type" => "Update", + "to" => ["https://example.com/ok"] + } + assert MentionPolicy.filter(message) == {:ok, message} + assert MentionPolicy.filter(update_message) == {:ok, update_message} end test "cc" do - Pleroma.Config.put([:mrf_mention], %{actors: ["https://example.com/blocked"]}) + clear_config([:mrf_mention], %{actors: ["https://example.com/blocked"]}) message = %{ "type" => "Create", "cc" => ["https://example.com/ok"] } + update_message = %{ + "type" => "Update", + "cc" => ["https://example.com/ok"] + } + assert MentionPolicy.filter(message) == {:ok, message} + assert MentionPolicy.filter(update_message) == {:ok, update_message} end test "both" do - Pleroma.Config.put([:mrf_mention], %{actors: ["https://example.com/blocked"]}) + clear_config([:mrf_mention], %{actors: ["https://example.com/blocked"]}) message = %{ "type" => "Create", @@ -63,25 +87,40 @@ defmodule Pleroma.Web.ActivityPub.MRF.MentionPolicyTest do "cc" => ["https://example.com/ok2"] } + update_message = %{ + "type" => "Update", + "to" => ["https://example.com/ok"], + "cc" => ["https://example.com/ok2"] + } + assert MentionPolicy.filter(message) == {:ok, message} + assert MentionPolicy.filter(update_message) == {:ok, update_message} end end describe "deny" do test "to" do - Pleroma.Config.put([:mrf_mention], %{actors: ["https://example.com/blocked"]}) + clear_config([:mrf_mention], %{actors: ["https://example.com/blocked"]}) message = %{ "type" => "Create", "to" => ["https://example.com/blocked"] } + update_message = %{ + "type" => "Update", + "to" => ["https://example.com/blocked"] + } + assert MentionPolicy.filter(message) == {:reject, "[MentionPolicy] Rejected for mention of https://example.com/blocked"} + + assert MentionPolicy.filter(update_message) == + {:reject, "[MentionPolicy] Rejected for mention of https://example.com/blocked"} end test "cc" do - Pleroma.Config.put([:mrf_mention], %{actors: ["https://example.com/blocked"]}) + clear_config([:mrf_mention], %{actors: ["https://example.com/blocked"]}) message = %{ "type" => "Create", @@ -89,8 +128,17 @@ defmodule Pleroma.Web.ActivityPub.MRF.MentionPolicyTest do "cc" => ["https://example.com/blocked"] } + update_message = %{ + "type" => "Update", + "to" => ["https://example.com/ok"], + "cc" => ["https://example.com/blocked"] + } + assert MentionPolicy.filter(message) == {:reject, "[MentionPolicy] Rejected for mention of https://example.com/blocked"} + + assert MentionPolicy.filter(update_message) == + {:reject, "[MentionPolicy] Rejected for mention of https://example.com/blocked"} end end end