diff options
author | lain <lain@soykaf.club> | 2020-12-18 11:53:43 +0100 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-12-18 11:53:43 +0100 |
commit | c1129ff6746b20b164b7bc6dadf851f396ef29ad (patch) | |
tree | c767bda4198de336115df267f9224878544df169 /test/support/data_case.ex | |
parent | 6bb4f4e1721d30762978b59a1aed11137223c183 (diff) | |
download | pleroma-c1129ff6746b20b164b7bc6dadf851f396ef29ad.tar.gz pleroma-c1129ff6746b20b164b7bc6dadf851f396ef29ad.zip |
Tests: Reset all cachex caches between synchronous tests
Don't bother in the async case, it doesn't make sense there.
Diffstat (limited to 'test/support/data_case.ex')
-rw-r--r-- | test/support/data_case.ex | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/test/support/data_case.ex b/test/support/data_case.ex index d5456521c..1f1d40863 100644 --- a/test/support/data_case.ex +++ b/test/support/data_case.ex @@ -45,13 +45,29 @@ defmodule Pleroma.DataCase do end end + def clear_cachex do + Pleroma.Supervisor + |> Supervisor.which_children() + |> Enum.each(fn + {name, _, _, [Cachex]} -> + name + |> to_string + |> String.trim_leading("cachex_") + |> Kernel.<>("_cache") + |> String.to_existing_atom() + |> Cachex.clear() + + _ -> + nil + end) + end + setup tags do - Cachex.clear(:user_cache) - Cachex.clear(:object_cache) :ok = Ecto.Adapters.SQL.Sandbox.checkout(Pleroma.Repo) unless tags[:async] do Ecto.Adapters.SQL.Sandbox.mode(Pleroma.Repo, {:shared, self()}) + clear_cachex() end if tags[:needs_streamer] do |