diff options
author | feld <feld@feld.me> | 2019-12-20 16:30:00 +0000 |
---|---|---|
committer | feld <feld@feld.me> | 2019-12-20 16:30:00 +0000 |
commit | 60819fd973b811b4e079cdb31c2764e92753f4af (patch) | |
tree | 1b3d92862674e263bcd640ccca1535dc590c8a8d /test | |
parent | c7848b63260fe1759ecaacec09763ef42a4e6abe (diff) | |
parent | 432b3067d4c62cd27e35f0b6e7bdc61da63310b9 (diff) | |
download | pleroma-60819fd973b811b4e079cdb31c2764e92753f4af.tar.gz |
Merge branch 'fix/remote-user-no-follower-counter' into 'develop'
Do not crash when remote user follower and following counters are hidden
See merge request pleroma/pleroma!2077
Diffstat (limited to 'test')
-rw-r--r-- | test/web/activity_pub/activity_pub_test.exs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 1520c8a9b..ad6b9810c 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -1623,6 +1623,44 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do assert follow_info.following_count == 32 assert follow_info.hide_follows == true end + + test "doesn't crash when follower and following counters are hidden" do + mock(fn env -> + case env.url do + "http://localhost:4001/users/masto_hidden_counters/following" -> + json(%{ + "@context" => "https://www.w3.org/ns/activitystreams", + "id" => "http://localhost:4001/users/masto_hidden_counters/followers" + }) + + "http://localhost:4001/users/masto_hidden_counters/following?page=1" -> + %Tesla.Env{status: 403, body: ""} + + "http://localhost:4001/users/masto_hidden_counters/followers" -> + json(%{ + "@context" => "https://www.w3.org/ns/activitystreams", + "id" => "http://localhost:4001/users/masto_hidden_counters/following" + }) + + "http://localhost:4001/users/masto_hidden_counters/followers?page=1" -> + %Tesla.Env{status: 403, body: ""} + end + end) + + user = + insert(:user, + local: false, + follower_address: "http://localhost:4001/users/masto_hidden_counters/followers", + following_address: "http://localhost:4001/users/masto_hidden_counters/following" + ) + + {:ok, follow_info} = ActivityPub.fetch_follow_information_for_user(user) + + assert follow_info.hide_followers == true + assert follow_info.follower_count == 0 + assert follow_info.hide_follows == true + assert follow_info.following_count == 0 + end end describe "fetch_favourites/3" do |