summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2020-07-01 13:51:23 +0000
committerrinpatch <rinpatch@sdf.org>2020-07-01 13:51:23 +0000
commitfa7a0be2252fc52202cf84b6549e2ff2e731c4ff (patch)
treeeb0d51b366c2785e89bd2ae016fda2c7bd45c478 /test
parentd889c9ca709a085031ab2b7ebfe4755c7471991d (diff)
parentfedfe8f7d6f78d77e9cbaf70fa8a9e8df38463f7 (diff)
downloadpleroma-fa7a0be2252fc52202cf84b6549e2ff2e731c4ff.tar.gz
pleroma-fa7a0be2252fc52202cf84b6549e2ff2e731c4ff.zip
Merge branch '1716-handle-nickname-clashes' into 'develop'
ActivityPub: Handle clashing nicknames for the same ap id Closes #1716 See merge request pleroma/pleroma!2712
Diffstat (limited to 'test')
-rw-r--r--test/user_test.exs25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/user_test.exs b/test/user_test.exs
index 9b66f3f51..7126bb539 100644
--- a/test/user_test.exs
+++ b/test/user_test.exs
@@ -597,6 +597,31 @@ defmodule Pleroma.UserTest do
refute user.last_refreshed_at == orig_user.last_refreshed_at
end
+ test "if nicknames clash, the old user gets a prefix with the old id to the nickname" do
+ a_week_ago = NaiveDateTime.add(NaiveDateTime.utc_now(), -604_800)
+
+ orig_user =
+ insert(
+ :user,
+ local: false,
+ nickname: "admin@mastodon.example.org",
+ ap_id: "http://mastodon.example.org/users/harinezumigari",
+ last_refreshed_at: a_week_ago
+ )
+
+ assert orig_user.last_refreshed_at == a_week_ago
+
+ {:ok, user} = User.get_or_fetch_by_ap_id("http://mastodon.example.org/users/admin")
+
+ assert user.inbox
+
+ refute user.id == orig_user.id
+
+ orig_user = User.get_by_id(orig_user.id)
+
+ assert orig_user.nickname == "#{orig_user.id}.admin@mastodon.example.org"
+ end
+
@tag capture_log: true
test "it returns the old user if stale, but unfetchable" do
a_week_ago = NaiveDateTime.add(NaiveDateTime.utc_now(), -604_800)