aboutsummaryrefslogtreecommitdiff
path: root/test/support/helpers.ex
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2019-08-19 17:00:59 +0000
committerlain <lain@soykaf.club>2019-08-19 17:00:59 +0000
commitd2c9befc64d4b8d4f56b5e23afeb1b720767e7ff (patch)
treecd76bb5d4cf7716624378a9cbf9cd42a63eee735 /test/support/helpers.ex
parentcb222b72b39ae4dc887657d1eae03d0360cbd429 (diff)
parente5d2c0c66949ad90f9ee02874bdea2aa94f7f683 (diff)
downloadpleroma-d2c9befc64d4b8d4f56b5e23afeb1b720767e7ff.tar.gz
Merge branch 'develop' into 'fix/reverse-proxy-body-too-large'
# Conflicts: # CHANGELOG.md
Diffstat (limited to 'test/support/helpers.ex')
-rw-r--r--test/support/helpers.ex53
1 files changed, 53 insertions, 0 deletions
diff --git a/test/support/helpers.ex b/test/support/helpers.ex
index 1a92be065..a601b3ec8 100644
--- a/test/support/helpers.ex
+++ b/test/support/helpers.ex
@@ -7,8 +7,52 @@ defmodule Pleroma.Tests.Helpers do
Helpers for use in tests.
"""
+ defmacro clear_config(config_path) do
+ quote do
+ clear_config(unquote(config_path)) do
+ end
+ end
+ end
+
+ defmacro clear_config(config_path, do: yield) do
+ quote do
+ setup do
+ initial_setting = Pleroma.Config.get(unquote(config_path))
+ unquote(yield)
+ on_exit(fn -> Pleroma.Config.put(unquote(config_path), initial_setting) end)
+ :ok
+ end
+ end
+ end
+
+ defmacro clear_config_all(config_path) do
+ quote do
+ clear_config_all(unquote(config_path)) do
+ end
+ end
+ end
+
+ defmacro clear_config_all(config_path, do: yield) do
+ quote do
+ setup_all do
+ initial_setting = Pleroma.Config.get(unquote(config_path))
+ unquote(yield)
+ on_exit(fn -> Pleroma.Config.put(unquote(config_path), initial_setting) end)
+ :ok
+ end
+ end
+ end
+
defmacro __using__(_opts) do
quote do
+ import Pleroma.Tests.Helpers,
+ only: [
+ clear_config: 1,
+ clear_config: 2,
+ clear_config_all: 1,
+ clear_config_all: 2
+ ]
+
def collect_ids(collection) do
collection
|> Enum.map(& &1.id)
@@ -30,6 +74,15 @@ defmodule Pleroma.Tests.Helpers do
|> Poison.encode!()
|> Poison.decode!()
end
+
+ defmacro guards_config(config_path) do
+ quote do
+ initial_setting = Pleroma.Config.get(config_path)
+
+ Pleroma.Config.put(config_path, true)
+ on_exit(fn -> Pleroma.Config.put(config_path, initial_setting) end)
+ end
+ end
end
end
end