X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fsupport%2Fhelpers.ex;h=6bf4b019e94b35a57e6a2ca5b264687855852216;hb=f3791add99014c4e5f1c51c06f8ace84b254cec2;hp=7bda09162ee7273545cd4311a81ac9cfec935054;hpb=2b821036c4bd84cee51c9fcace5a4b3764c3bba1;p=akkoma
diff --git a/test/support/helpers.ex b/test/support/helpers.ex
index 7bda09162..6bf4b019e 100644
--- a/test/support/helpers.ex
+++ b/test/support/helpers.ex
@@ -1,11 +1,12 @@
# Pleroma: A lightweight social networking server
-# Copyright © 2017-2019 Pleroma Authors
+# Copyright © 2017-2020 Pleroma Authors
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Tests.Helpers do
@moduledoc """
Helpers for use in tests.
"""
+ alias Pleroma.Config
defmacro clear_config(config_path) do
quote do
@@ -17,14 +18,15 @@ defmodule Pleroma.Tests.Helpers do
defmacro clear_config(config_path, do: yield) do
quote do
setup do
- initial_setting = Pleroma.Config.get(unquote(config_path))
+ initial_setting = Config.get(unquote(config_path))
unquote(yield)
- on_exit(fn -> Pleroma.Config.put(unquote(config_path), initial_setting) end)
+ on_exit(fn -> Config.put(unquote(config_path), initial_setting) end)
:ok
end
end
end
+ @doc "Stores initial config value and restores it after *all* test examples are executed."
defmacro clear_config_all(config_path) do
quote do
clear_config_all(unquote(config_path)) do
@@ -32,12 +34,17 @@ defmodule Pleroma.Tests.Helpers do
end
end
+ @doc """
+ Stores initial config value and restores it after *all* test examples are executed.
+ Only use if *all* test examples should work with the same stubbed value
+ (*no* examples set a different value).
+ """
defmacro clear_config_all(config_path, do: yield) do
quote do
setup_all do
- initial_setting = Pleroma.Config.get(unquote(config_path))
+ initial_setting = Config.get(unquote(config_path))
unquote(yield)
- on_exit(fn -> Pleroma.Config.put(unquote(config_path), initial_setting) end)
+ on_exit(fn -> Config.put(unquote(config_path), initial_setting) end)
:ok
end
end
@@ -100,10 +107,10 @@ defmodule Pleroma.Tests.Helpers do
defmacro guards_config(config_path) do
quote do
- initial_setting = Pleroma.Config.get(config_path)
+ initial_setting = Config.get(config_path)
- Pleroma.Config.put(config_path, true)
- on_exit(fn -> Pleroma.Config.put(config_path, initial_setting) end)
+ Config.put(config_path, true)
+ on_exit(fn -> Config.put(config_path, initial_setting) end)
end
end
end