aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/object_test.exs30
-rw-r--r--test/user_test.exs29
2 files changed, 58 insertions, 1 deletions
diff --git a/test/object_test.exs b/test/object_test.exs
index 5eb9b7530..909605560 100644
--- a/test/object_test.exs
+++ b/test/object_test.exs
@@ -19,4 +19,34 @@ defmodule Pleroma.ObjectTest do
{:error, _result} = Repo.insert(cs)
end
end
+
+ describe "deletion function" do
+ test "deletes an object" do
+ object = insert(:note)
+ found_object = Object.get_by_ap_id(object.data["id"])
+
+ assert object == found_object
+
+ Object.delete(found_object)
+
+ found_object = Object.get_by_ap_id(object.data["id"])
+
+ refute object == found_object
+ end
+
+ test "ensures cache is cleared for the object" do
+ object = insert(:note)
+ cached_object = Object.get_cached_by_ap_id(object.data["id"])
+
+ assert object == cached_object
+
+ Object.delete(cached_object)
+
+ {:ok, nil} = Cachex.get(:object_cache, "object:#{object.data["id"]}")
+
+ cached_object = Object.get_cached_by_ap_id(object.data["id"])
+
+ refute object == cached_object
+ end
+ end
end
diff --git a/test/user_test.exs b/test/user_test.exs
index 05da24f8d..7dec3462f 100644
--- a/test/user_test.exs
+++ b/test/user_test.exs
@@ -511,7 +511,7 @@ defmodule Pleroma.UserTest do
{:ok, _, _} = CommonAPI.favorite(activity.id, follower)
{:ok, _, _} = CommonAPI.repeat(activity.id, follower)
- :ok = User.delete(user)
+ {:ok, _} = User.delete(user)
followed = Repo.get(User, followed.id)
follower = Repo.get(User, follower.id)
@@ -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