1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule Pleroma.Web.ActivityPub.MRF.MentionPolicyTest do
8 alias Pleroma.Web.ActivityPub.MRF.MentionPolicy
10 test "pass filter if allow list is empty" do
11 Pleroma.Config.delete([:mrf_mention])
15 "to" => ["https://example.com/ok"],
16 "cc" => ["https://example.com/blocked"]
19 assert MentionPolicy.filter(message) == {:ok, message}
24 Pleroma.Config.put([:mrf_mention], %{actors: ["https://example.com/blocked"]})
30 assert MentionPolicy.filter(message) == {:ok, message}
34 Pleroma.Config.put([:mrf_mention], %{actors: ["https://example.com/blocked"]})
38 "to" => ["https://example.com/ok"]
41 assert MentionPolicy.filter(message) == {:ok, message}
45 Pleroma.Config.put([:mrf_mention], %{actors: ["https://example.com/blocked"]})
49 "cc" => ["https://example.com/ok"]
52 assert MentionPolicy.filter(message) == {:ok, message}
56 Pleroma.Config.put([:mrf_mention], %{actors: ["https://example.com/blocked"]})
60 "to" => ["https://example.com/ok"],
61 "cc" => ["https://example.com/ok2"]
64 assert MentionPolicy.filter(message) == {:ok, message}
70 Pleroma.Config.put([:mrf_mention], %{actors: ["https://example.com/blocked"]})
74 "to" => ["https://example.com/blocked"]
77 assert MentionPolicy.filter(message) == {:reject, nil}
81 Pleroma.Config.put([:mrf_mention], %{actors: ["https://example.com/blocked"]})
85 "to" => ["https://example.com/ok"],
86 "cc" => ["https://example.com/blocked"]
89 assert MentionPolicy.filter(message) == {:reject, nil}