summaryrefslogtreecommitdiff
path: root/test/support/helpers.ex
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2021-01-16 23:05:31 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2021-01-16 23:05:31 +0300
commit3f88e33a71ce02cdea722c322f1e86672aa5ff69 (patch)
tree290caec55d4250e8afee97ac57c200d4fe70341c /test/support/helpers.ex
parentd0e0396528c55f1b61c1d48452e855ea69ec3e89 (diff)
downloadpleroma-3f88e33a71ce02cdea722c322f1e86672aa5ff69.tar.gz
pleroma-3f88e33a71ce02cdea722c322f1e86672aa5ff69.zip
[#3251] Fixed wrong test-env config setting for [Pleroma.Upload]. Refactoring. Added warning to `clear_config/_` to minimize such issues in future.
Diffstat (limited to 'test/support/helpers.ex')
-rw-r--r--test/support/helpers.ex12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/support/helpers.ex b/test/support/helpers.ex
index 15e8cbd9d..db38a1e81 100644
--- a/test/support/helpers.ex
+++ b/test/support/helpers.ex
@@ -8,6 +8,8 @@ defmodule Pleroma.Tests.Helpers do
"""
alias Pleroma.Config
+ require Logger
+
defmacro clear_config(config_path) do
quote do
clear_config(unquote(config_path)) do
@@ -18,6 +20,7 @@ defmodule Pleroma.Tests.Helpers do
defmacro clear_config(config_path, do: yield) do
quote do
initial_setting = Config.fetch(unquote(config_path))
+
unquote(yield)
on_exit(fn ->
@@ -35,6 +38,15 @@ defmodule Pleroma.Tests.Helpers do
end
defmacro clear_config(config_path, temp_setting) do
+ # NOTE: `clear_config([section, key], value)` != `clear_config([section], key: value)` (!)
+ # Displaying a warning to prevent unintentional clearing of all but one keys in section
+ if Keyword.keyword?(temp_setting) and length(temp_setting) == 1 do
+ Logger.warn(
+ "Please change to `clear_config([section]); clear_config([section, key], value)`: " <>
+ "#{inspect(config_path)}, #{inspect(temp_setting)}"
+ )
+ end
+
quote do
clear_config(unquote(config_path)) do
Config.put(unquote(config_path), unquote(temp_setting))