aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2018-11-01 08:09:51 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2018-11-01 08:11:02 +0000
commit21dafa7cd029870c3dc60846ead23f1866bc4cd3 (patch)
tree79c781807deb7e216981e5711753d69fc45985fa
parentf584a603f95f95c7c8d2c1897b24b5c7399f4f74 (diff)
downloadpleroma-21dafa7cd029870c3dc60846ead23f1866bc4cd3.tar.gz
tests: add tests for User + cache interactions
-rw-r--r--test/user_test.exs27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/user_test.exs b/test/user_test.exs
index 05da24f8d..9b3519ece 100644
--- a/test/user_test.exs
+++ b/test/user_test.exs
@@ -551,4 +551,31 @@ defmodule Pleroma.UserTest do
assert Pleroma.HTML.Scrubber.TwitterText == User.html_filter_policy(user)
end
end
+
+ describe "caching" do
+ test "invalidate_cache works" do
+ user = insert(:user)
+ user_info = User.get_cached_user_info(user)
+
+ User.invalidate_cache(user)
+
+ {:ok, nil} = Cachex.get(:user_cache, "ap_id:#{user.ap_id}")
+ {:ok, nil} = Cachex.get(:user_cache, "nickname:#{user.nickname}")
+ {:ok, nil} = Cachex.get(:user_cache, "user_info:#{user.id}")
+ end
+
+ test "User.delete() plugs any possible zombie objects" do
+ user = insert(:user)
+
+ {:ok, _} = User.delete(user)
+
+ {:ok, cached_user} = Cachex.get(:user_cache, "ap_id:#{user.ap_id}")
+
+ assert cached_user != user
+
+ {:ok, cached_user} = Cachex.get(:user_cache, "nickname:#{user.ap_id}")
+
+ assert cached_user != user
+ end
+ end
end