Merge branch 'develop' into issue/1023
[akkoma] / test / config / deprecation_warnings_test.exs
1 defmodule Pleroma.Config.DeprecationWarningsTest do
2 use ExUnit.Case, async: true
3 use Pleroma.Tests.Helpers
4
5 import ExUnit.CaptureLog
6
7 test "check_old_mrf_config/0" do
8 clear_config([:instance, :rewrite_policy], Pleroma.Web.ActivityPub.MRF.NoOpPolicy)
9 clear_config([:instance, :mrf_transparency], true)
10 clear_config([:instance, :mrf_transparency_exclusions], [])
11
12 assert capture_log(fn -> Pleroma.Config.DeprecationWarnings.check_old_mrf_config() end) =~
13 """
14 !!!DEPRECATION WARNING!!!
15 Your config is using old namespaces for MRF configuration. They should work for now, but you are advised to change to new namespaces to prevent possible issues later:
16
17 * `config :pleroma, :instance, rewrite_policy` is now `config :pleroma, :mrf, policies`
18 * `config :pleroma, :instance, mrf_transparency` is now `config :pleroma, :mrf, transparency`
19 * `config :pleroma, :instance, mrf_transparency_exclusions` is now `config :pleroma, :mrf, transparency_exclusions`
20 """
21 end
22
23 test "move_namespace_and_warn/2" do
24 old_group1 = [:group, :key]
25 old_group2 = [:group, :key2]
26 old_group3 = [:group, :key3]
27
28 new_group1 = [:another_group, :key4]
29 new_group2 = [:another_group, :key5]
30 new_group3 = [:another_group, :key6]
31
32 clear_config(old_group1, 1)
33 clear_config(old_group2, 2)
34 clear_config(old_group3, 3)
35
36 clear_config(new_group1)
37 clear_config(new_group2)
38 clear_config(new_group3)
39
40 config_map = [
41 {old_group1, new_group1, "\n error :key"},
42 {old_group2, new_group2, "\n error :key2"},
43 {old_group3, new_group3, "\n error :key3"}
44 ]
45
46 assert capture_log(fn ->
47 Pleroma.Config.DeprecationWarnings.move_namespace_and_warn(
48 config_map,
49 "Warning preface"
50 )
51 end) =~ "Warning preface\n error :key\n error :key2\n error :key3"
52
53 assert Pleroma.Config.get(new_group1) == 1
54 assert Pleroma.Config.get(new_group2) == 2
55 assert Pleroma.Config.get(new_group3) == 3
56 end
57
58 test "check_media_proxy_whitelist_config/0" do
59 clear_config([:media_proxy, :whitelist], ["https://example.com", "example2.com"])
60
61 assert capture_log(fn ->
62 Pleroma.Config.DeprecationWarnings.check_media_proxy_whitelist_config()
63 end) =~ "Your config is using old format (only domain) for MediaProxy whitelist option"
64 end
65 end