Merge branch 'release/2.4.1' into chores/2.4.1-develop
[akkoma] / test / pleroma / config / deprecation_warnings_test.exs
index 61c835fc9467a284f2dafc9dc2830d3a4a6d4421..c5e2b20f4d1628083ed50debc0d06a2085ff6897 100644 (file)
@@ -73,7 +73,7 @@ defmodule Pleroma.Config.DeprecationWarningsTest do
         {:media_removal, [{"some.removal", ""}, {"some.other.instance", "Some reason"}]}
       ]
 
-      capture_log(fn -> DeprecationWarnings.check_simple_policy_tuples() end)
+      capture_log(fn -> DeprecationWarnings.warn() end)
 
       assert Config.get([:mrf_simple]) == expected_config
     end
@@ -122,7 +122,7 @@ defmodule Pleroma.Config.DeprecationWarningsTest do
 
       expected_config = [{"domain.com", "some reason"}, {"some.tld", ""}]
 
-      capture_log(fn -> DeprecationWarnings.check_quarantined_instances_tuples() end)
+      capture_log(fn -> DeprecationWarnings.warn() end)
 
       assert Config.get([:instance, :quarantined_instances]) == expected_config
     end
@@ -137,6 +137,57 @@ defmodule Pleroma.Config.DeprecationWarningsTest do
     end
   end
 
+  describe "transparency_exclusions tuples" do
+    test "gives warning when there are still strings" do
+      clear_config([:mrf, :transparency_exclusions], [
+        {"domain.com", "some reason"},
+        "somedomain.tld"
+      ])
+
+      assert capture_log(fn -> DeprecationWarnings.check_transparency_exclusions_tuples() end) =~
+               """
+               !!!DEPRECATION WARNING!!!
+               Your config is using strings in the transparency_exclusions configuration instead of tuples. They should work for now, but you are advised to change to the new configuration to prevent possible issues later:
+
+               ```
+               config :pleroma, :mrf,
+                 transparency_exclusions: ["instance.tld"]
+               ```
+
+               Is now
+
+
+               ```
+               config :pleroma, :mrf,
+                 transparency_exclusions: [{"instance.tld", "Reason to exlude transparency"}]
+               ```
+               """
+    end
+
+    test "transforms config to tuples" do
+      clear_config([:mrf, :transparency_exclusions], [
+        {"domain.com", "some reason"},
+        "some.tld"
+      ])
+
+      expected_config = [{"domain.com", "some reason"}, {"some.tld", ""}]
+
+      capture_log(fn -> DeprecationWarnings.warn() end)
+
+      assert Config.get([:mrf, :transparency_exclusions]) == expected_config
+    end
+
+    test "doesn't give a warning with correct config" do
+      clear_config([:mrf, :transparency_exclusions], [
+        {"domain.com", "some reason"},
+        {"some.tld", ""}
+      ])
+
+      assert capture_log(fn -> DeprecationWarnings.check_transparency_exclusions_tuples() end) ==
+               ""
+    end
+  end
+
   test "check_old_mrf_config/0" do
     clear_config([:instance, :rewrite_policy], [])
     clear_config([:instance, :mrf_transparency], true)