mrf_simple =
Config.get(:mrf_simple)
|> Enum.map(fn {k, v} -> {k, Enum.reject(v, fn {v, _} -> v in exclusions end)} end)
+ |> Enum.map(fn {k, v} ->
+ {k, Enum.map(v, fn {i, r} -> %{"instance" => i, "reason" => r} end)}
+ end)
|> Enum.into(%{})
{:ok, %{mrf_simple: mrf_simple}}
)
end
+ test "it shows quarantined instances data if enabled", %{conn: conn} do
+ clear_config([:mrf, :transparency], true)
+
+ quarantined_instances = [{"example.com", ""}]
+ clear_config([:instance, :quarantined_instances], quarantined_instances)
+
+ expected_config = [%{"instance" => "example.com", "reason" => ""}]
+
+ response =
+ conn
+ |> get("/nodeinfo/2.1.json")
+ |> json_response(:ok)
+
+ assert response["metadata"]["federation"]["quarantined_instances"] == expected_config
+ end
+
test "it shows MRF transparency data if enabled", %{conn: conn} do
clear_config([:mrf, :policies], [Pleroma.Web.ActivityPub.MRF.SimplePolicy])
clear_config([:mrf, :transparency], true)
simple_config = %{"reject" => [{"example.com", ""}]}
clear_config(:mrf_simple, simple_config)
- expected_config = %{"reject" => [["example.com", ""]]}
+ expected_config = %{"reject" => [%{"instance" => "example.com", "reason" => ""}]}
response =
conn
simple_config = %{"reject" => [{"example.com", ""}, {"other.site", ""}]}
clear_config(:mrf_simple, simple_config)
- expected_config = %{"reject" => [["example.com", ""]]}
+ expected_config = %{"reject" => [%{"instance" => "example.com", "reason" => ""}]}
response =
conn