diff options
author | Alex Gleason <alex@alexgleason.me> | 2021-04-30 13:17:03 -0500 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2021-04-30 13:17:03 -0500 |
commit | 52fc59f125c10ad73b9fd1a0639b6dc5681776ca (patch) | |
tree | 7de32329acbdd4bdf5c753678a2d459c61b58d80 /test/support/helpers.ex | |
parent | a8fa00ef666f574aec8048626aed78a7d62e6915 (diff) | |
parent | 377f84f3678f9c2541fbd4a200cd93c5ab0dea24 (diff) | |
download | pleroma-52fc59f125c10ad73b9fd1a0639b6dc5681776ca.tar.gz pleroma-52fc59f125c10ad73b9fd1a0639b6dc5681776ca.zip |
Merge remote-tracking branch 'upstream/develop' into earmark
Diffstat (limited to 'test/support/helpers.ex')
-rw-r--r-- | test/support/helpers.ex | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/test/support/helpers.ex b/test/support/helpers.ex index 224034521..856a6a376 100644 --- a/test/support/helpers.ex +++ b/test/support/helpers.ex @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> +# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/> # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Tests.Helpers do @@ -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)) @@ -55,6 +67,14 @@ defmodule Pleroma.Tests.Helpers do clear_config: 2 ] + def time_travel(entity, seconds) do + new_time = NaiveDateTime.add(entity.inserted_at, seconds) + + entity + |> Ecto.Changeset.change(%{inserted_at: new_time, updated_at: new_time}) + |> Pleroma.Repo.update() + end + def to_datetime(%NaiveDateTime{} = naive_datetime) do naive_datetime |> DateTime.from_naive!("Etc/UTC") |