summaryrefslogtreecommitdiff
path: root/test/support/cachex_proxy.ex
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2020-12-18 19:49:01 +0100
committerlain <lain@soykaf.club>2020-12-18 19:53:19 +0100
commit95a9bdfc374a013be47e74b25bdba5d91f51948b (patch)
tree8c978c04055f71704ddf6f862effdf9462654a88 /test/support/cachex_proxy.ex
parent713612c37725c81b0906b03528c9eaa474816c7d (diff)
downloadpleroma-95a9bdfc374a013be47e74b25bdba5d91f51948b.tar.gz
pleroma-95a9bdfc374a013be47e74b25bdba5d91f51948b.zip
Tests: Use NullCache for async tests.
Caching can't work in async tests, so for them it is mocked to a null cache that is always empty. Synchronous tests are stubbed with the real Cachex, which is emptied after every test.
Diffstat (limited to 'test/support/cachex_proxy.ex')
-rw-r--r--test/support/cachex_proxy.ex40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/support/cachex_proxy.ex b/test/support/cachex_proxy.ex
new file mode 100644
index 000000000..e296b5c6a
--- /dev/null
+++ b/test/support/cachex_proxy.ex
@@ -0,0 +1,40 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.CachexProxy do
+ @behaviour Pleroma.Caching
+
+ @impl true
+ defdelegate get!(cache, key), to: Cachex
+
+ @impl true
+ defdelegate stream!(cache, key), to: Cachex
+
+ @impl true
+ defdelegate put(cache, key, value, options), to: Cachex
+
+ @impl true
+ defdelegate put(cache, key, value), to: Cachex
+
+ @impl true
+ defdelegate get_and_update(cache, key, func), to: Cachex
+
+ @impl true
+ defdelegate get(cache, key), to: Cachex
+
+ @impl true
+ defdelegate fetch!(cache, key, func), to: Cachex
+
+ @impl true
+ defdelegate expire_at(cache, str, num), to: Cachex
+
+ @impl true
+ defdelegate exists?(cache, key), to: Cachex
+
+ @impl true
+ defdelegate del(cache, key), to: Cachex
+
+ @impl true
+ defdelegate execute!(cache, func), to: Cachex
+end