diff options
author | Francis Dinh <normandy@firemail.cc> | 2018-05-21 05:11:13 -0400 |
---|---|---|
committer | Francis Dinh <normandy@firemail.cc> | 2018-05-21 05:11:13 -0400 |
commit | d045b96f957e0698ecd0110ca240f0527e3fea43 (patch) | |
tree | 7222a027435c806a17f256ab2063a1b944cf7a39 /test/web/ostatus | |
parent | cc5373b846d7f816a3e78af342468f2ea8415b8d (diff) | |
download | pleroma-d045b96f957e0698ecd0110ca240f0527e3fea43.tar.gz pleroma-d045b96f957e0698ecd0110ca240f0527e3fea43.zip |
Add tests for incoming unfollow over OStatus
Diffstat (limited to 'test/web/ostatus')
-rw-r--r-- | test/web/ostatus/ostatus_test.exs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/web/ostatus/ostatus_test.exs b/test/web/ostatus/ostatus_test.exs index 3e7cf0155..f095e41dd 100644 --- a/test/web/ostatus/ostatus_test.exs +++ b/test/web/ostatus/ostatus_test.exs @@ -278,6 +278,30 @@ defmodule Pleroma.Web.OStatusTest do assert User.following?(follower, followed) end + test "handle incoming unfollows with existing follow" do + incoming_follow = File.read!("test/fixtures/follow.xml") + {:ok, [_activity]} = OStatus.handle_incoming(incoming_follow) + + incoming = File.read!("test/fixtures/unfollow.xml") + {:ok, [activity]} = OStatus.handle_incoming(incoming) + + assert activity.data["type"] == "Undo" + + assert activity.data["id"] == + "undo:tag:social.heldscal.la,2017-05-07:subscription:23211:person:44803:2017-05-07T09:54:48+00:00" + + assert activity.data["actor"] == "https://social.heldscal.la/user/23211" + assert is_map(activity.data["object"]) + assert activity.data["object"]["type"] == "Follow" + assert activity.data["object"]["object"] == "https://pawoo.net/users/pekorino" + refute activity.local + + follower = User.get_by_ap_id(activity.data["actor"]) + followed = User.get_by_ap_id(activity.data["object"]["object"]) + + refute User.following?(follower, followed) + end + describe "new remote user creation" do test "returns local users" do local_user = insert(:user) |