summaryrefslogtreecommitdiff
path: root/test/support
diff options
context:
space:
mode:
Diffstat (limited to 'test/support')
-rw-r--r--test/support/factory.ex12
-rw-r--r--test/support/helpers.ex27
-rw-r--r--test/support/http_request_mock.ex2
3 files changed, 30 insertions, 11 deletions
diff --git a/test/support/factory.ex b/test/support/factory.ex
index 100864055..780235cb9 100644
--- a/test/support/factory.ex
+++ b/test/support/factory.ex
@@ -394,9 +394,15 @@ defmodule Pleroma.Factory do
end
def config_factory do
- %Pleroma.Web.AdminAPI.Config{
- key: sequence(:key, &"some_key_#{&1}"),
- group: "pleroma",
+ %Pleroma.ConfigDB{
+ key:
+ sequence(:key, fn key ->
+ # Atom dynamic registration hack in tests
+ "some_key_#{key}"
+ |> String.to_atom()
+ |> inspect()
+ end),
+ group: ":pleroma",
value:
sequence(
:value,
diff --git a/test/support/helpers.ex b/test/support/helpers.ex
index af2b2eddf..db2f08c81 100644
--- a/test/support/helpers.ex
+++ b/test/support/helpers.ex
@@ -6,6 +6,7 @@ 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
@@ -53,6 +60,12 @@ defmodule Pleroma.Tests.Helpers do
clear_config_all: 2
]
+ def to_datetime(naive_datetime) do
+ naive_datetime
+ |> DateTime.from_naive!("Etc/UTC")
+ |> DateTime.truncate(:second)
+ end
+
def collect_ids(collection) do
collection
|> Enum.map(& &1.id)
@@ -94,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
diff --git a/test/support/http_request_mock.ex b/test/support/http_request_mock.ex
index f43de700d..ba3341327 100644
--- a/test/support/http_request_mock.ex
+++ b/test/support/http_request_mock.ex
@@ -19,7 +19,7 @@ defmodule HttpRequestMock do
else
error ->
with {:error, message} <- error do
- Logger.warn(message)
+ Logger.warn(to_string(message))
end
{_, _r} = error