summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2020-12-18 11:53:43 +0100
committerlain <lain@soykaf.club>2020-12-18 11:53:43 +0100
commitc1129ff6746b20b164b7bc6dadf851f396ef29ad (patch)
treec767bda4198de336115df267f9224878544df169
parent6bb4f4e1721d30762978b59a1aed11137223c183 (diff)
downloadpleroma-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.
-rw-r--r--test/support/conn_case.ex3
-rw-r--r--test/support/data_case.ex20
2 files changed, 19 insertions, 4 deletions
diff --git a/test/support/conn_case.ex b/test/support/conn_case.ex
index 47cb65a80..b5bd71809 100644
--- a/test/support/conn_case.ex
+++ b/test/support/conn_case.ex
@@ -116,12 +116,11 @@ defmodule Pleroma.Web.ConnCase do
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()})
+ Pleroma.DataCase.clear_cachex()
end
if tags[:needs_streamer] do
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